我正在使该方法属于:
public static <T> int compareTo(Comparable<T> o1,Comparable<T> o2){
if(o1==o2){
//Equals
return 0;
}else if(o1!=null && o2!=null){
//Comparation
return o1.compareTo((T) o2);
}else{
//Not equals
return (o1==null?-1:1);
}
}
但Eclipse向我展示了警告:
类型安全:从Comparable到T
取消选中
如何在没有警告的情况下编写此通用方法?
答案 0 :(得分:4)
public static <T extends Comparable<T>> int compareTo(T o1,T o2){
if(o1==o2){
//Equals
return 0;
}else if(o1!=null && o2!=null){
//Comparation
return o1.compareTo(o2);
}else{
//Not equals
return (o1==null?-1:1);
}
}
答案 1 :(得分:0)
最通用的是
public static <T> int compareTo(Comparable<T> o1, T o2){
if(o1==o2){
//Equals
return 0;
}else if(o1!=null && o2!=null){
//Comparation
return o1.compareTo(o2);
}else{
//Not equals
return (o1==null?-1:1);
}
}
它甚至适用于与其他类型相当的类型。