[英]Defining an interface that implements comparable
我試圖定義一個接口,以便所有實現的類都必須與它們及其子類可比。
例如,考慮:
public interface Rating implements Comparable<Rating> {}
這意味着實現類必須與所有等級都可比:
public class A implements Rating {
public int compareTo(Rating r) {return 0;}
}
我想放寬該要求,以便可以定義一個類:
public class A implements Rating {
public int compareTo(A a) {return 0;}
}
我希望您正在嘗試達到以下目的:
public class Rating implements Comparable<? extends Rating> {
...
}
或也許(盡管我不確定您可以這樣做):
public interface Rating extends Comparable<? extends Rating> {
...
}
有關有界通配符的更多信息,請參見Oracle上的此頁面 。
我想您可能希望您的“ compareTo()”返回除“ 0”以外的值;)
您可以使用“ instanceof”來查看任意對象是否是某個特定的類(或子類)
我不確定重載“ compareTo()”是否一定是個好主意。 您甚至可能希望將輸入參數設為“對象o”。
恕我直言.. pSM
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.