我正在实现一个排序列表类,在这个类中我要对任何类型的对象进行排序,所以现在我想测试该对象是否具有可比性,
我使用此代码覆盖compareTo()方法: -
class MyObject implements Comparable {
Object ob;
MyObject(){
this.ob=new Object();
}
public int compareTo(Object current){
if((ob.toString().compareTo(current.toString()))>1)
return 1;
else if((ob.toString().compareTo(current.toString()))<1)
return -1;
else
return 0;
}
public String toString(){
return (String)ob;
}
}
Run Code Online (Sandbox Code Playgroud)
所以现在我需要像这样为这些对象分配数字
class SortedListTest{
public static void main (String arg[]){
MyObject b1= new MyObject();
MyObject b2= new MyObject();
b1.ob=6;
b2.ob=3;
System.out.println(b2.compareTo(b1));
}
}
Run Code Online (Sandbox Code Playgroud)
但它一直给我这个例外: -
线程"main"java.lang.ClassCastException中的异常:java.lang.Integer无法强制转换为java.lang.String