簡體   English   中英

定義實現可比的接口

[英]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上的此頁面

  1. 我想您可能希望您的“ compareTo()”返回除“ 0”以外的值;)

  2. 您可以使用“ instanceof”來查看任意對象是否是某個特定的類(或子類)

  3. 我不確定重載“ compareTo()”是否一定是個好主意。 您甚至可能希望將輸入參數設為“對象o”。

恕我直言.. pSM

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM