[英]The method compareTo(Comparable) is undefined for the type Comparable
[英]Generic Comparable type for compareTo
我有一個名為getMember
的方法,該方法可能返回任何Comparable對象,String,Integer等。我不知道該用什么作為類型參數,所以compareTo
將起作用。 下面的代碼不起作用
Comparable<? extends Comparable<?>> m1 = column.getMember(o1);
Comparable<? extends Comparable<?>> m2 = column.getMember(o2);
int compareTo = m1.compareTo(m2);
如果我不清楚,則m1和m2將始終是同一類型。 沒有類型參數的比較效果很好,我只想知道要放在<>中的內容
我認為您這里需要的是通用方法 。 無論此段代碼采用哪種方法,都必須泛化。 這是我最好的鏡頭,沒有getMember
方法的資料。
public <T extends Comparable<? super T>> void doSomethingTheOPWants() {
...
T m1 = column.getMember(o1);
T m2 = column.getMember(o2);
int compareTo = m1.compareTo(m2);
}
以我目前對代碼的了解,我認為我無法創建相關/有價值的測試,因此我將其留給OP處理。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.