在Java中,我將如何使用泛型創建一個max函數,該函數需要兩個相同類型的Comparable對象並返回較大的對象?使用泛型創建最大函數返回較大的一個
我嘗試:
public static <T extends Comparable> T max(T obj1, T obj2)
{
return (((obj1).compareTo(obj2) >= 0) ? obj1 : obj2);
}
(。如果它們均等於它返回OBJ1)
該方法基於代碼我發現在http://www.informit.com/articles/article.aspx?p=170176&seqNum=3。
然而,當我編譯我得到這樣的警告(與-Xlint編譯:未選中): 警告:未經檢查]作爲原料類型的成員未經檢查調用的compareTo(T)java.lang.Comparable的
類似於'Collections.max()'。 – 2010-07-27 20:52:31
非常感謝。 – ladaghini 2010-07-27 23:32:33
@MarkPeters:你能解釋Collections.max()函數的泛型部分嗎?它太混亂了。或者請提供相關鏈接。 – IfOnly 2017-05-04 15:40:34