我现在正在学习排序,并且不明白。我的类型是使用Integer,Double等类,但不是类型int,short,long,double等。
我使用了public static <T extends Comparable<? super T>> void sexySort(T[] a)
和public static <T extends Number> void sexySort(T[] a)
。
P.S。我试过反思,但仍然没有工作
public static <T> int checkClass(T t){
String type = t.getClass().getCanonicalName();
if(type.equals("java.lang.Integer")){
return 0;
}
else if(type.equals("java.lang.Double")){
return 1;
}
return -1;
//etc.
}
答案 0 :(得分:2)
要有效地使用Java泛型,必须考虑以下限制:
答案 1 :(得分:1)
您不能将原始类型用作“模板”参数(Java中的参数化类型)。
如果C不是泛型类或接口的名称,或者类型参数列表中的类型参数数与C的类型参数数不同,则为编译时错误。
并在示例中明确指出
原始类型不能是类型参数。