簡體   English   中英

compareTo的通用可比較類型

[英]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.

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