選項1:
public class A <T extends Number & Comparable<T>>{}
你的通用參數應該擴展數和實現可比, 這意味着類A是編號和可比性。
選項2:
public class B <T extends Comparable<? extends Number>>{}
T是對數字相當(可比較數只),但不必須是數字,不像選項1
我會解釋例如:
A
public class A <T extends Number & Comparable<T>>{}
乙
public class B <T extends Comparable<? extends Number>>{}
IntegerWrapper(選項2)
public class IntegerWrapper implements Comparable<Integer> {
Integer number;
public IntegerWrapper(int number) {
this.number = number;
}
@Override
public int compareTo(Integer o) {
return number.compareTo(o);
}
}
GenericsTest 公共類GenericsTest {
public static void main(String args[]){
A myA = new A<Integer>();
B myB = new B<IntegerWrapper>();
}
}
我認爲選項1是你正在尋找的,因爲我想不出許多有用的方案選項2(也許有...)
顯示您的代碼。你在說什麼錯誤?你什麼時候得到它? –