1
我正在學習Java課程,我的文檔將此方法標題作爲通用示例。不幸的是,這個描述是缺乏的。有人可以解釋這種打字方式是怎麼回事?需要關於此通用鍵入的簡要說明
public static <T extends Object & Comparable <? super T>> T max(T a, T b) {
...
...
...
}
謝謝!
我正在學習Java課程,我的文檔將此方法標題作爲通用示例。不幸的是,這個描述是缺乏的。有人可以解釋這種打字方式是怎麼回事?需要關於此通用鍵入的簡要說明
public static <T extends Object & Comparable <? super T>> T max(T a, T b) {
...
...
...
}
謝謝!
據我所知,
<T extends Object & Comparable <? super T>>
是等效採用:
<T extends Comparable<? super T>>
所以,這個說:
T
,這應該是相當T
或東西,比T
缺少特徵。
此施工力量,你可以選擇一件T像MyClass
,如果MyClass
聲明如下其中之一:
MyClass implements Comparable<MyClass>
MyClass implements Comparable<MySuperClass>
MyClass implements Comparable<Object>
但不允許:
MyClass implements Comparable<String>
MyClass implements Comparable<MyChildClass>
鑑於:MyChildClass extends MyClass extends MySuperClass extends Object
。
我認爲泛型類型參數'T'應該擴展'Comparable'。 'a'和'b'屬於'T'類型。只有兩個參數可以相互比較才能達到最大值纔有意義。 – Vertex