オプション1:
public class A <T extends Number & Comparable<T>>{}
はあなたの一般的なパラメータは、番号を拡張する必要がありますし、は、クラスAの数と同等であることを意味し をComparableを実装しています。
オプション2:
public class B <T extends Comparable<? extends Number>>{}
T番号に匹敵するものである(数だけを比較することができます)が、数にする必要はありません、とは異なり、オプション1
私が説明します例によって:
public class A <T extends Number & Comparable<T>>{}
B
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>();
}
}
私はあなたのコードを表示
(...たぶんあります)私はオプション2のために多くの有用なシナリオを考えることはできませんので、オプション1は、あなたが探しているものだと思います。あなたは何のことを言っているのですか?あなたはいつそれを手に入れますか? –