我是java新手。我正在学习界面,我正在尝试执行以下操作:
package comparator;
import java.io.*;
import java.util.*;
public class comparator {
public static bankAccount ba=new bankAccount(80);
public static void main(String args[]){
method1(ba);
}
public static void method1(bankAccount ba1){
bankAccount ba2=new bankAccount(80);
int c=((Comparable) ba1).compareTo(ba2);
System.out.println(c);
}
}
class bankAccount{
public double balance;
public A(double bal){
balance=bal;
}
}
但是我收到如下错误:
Exception in thread "main" java.lang.ClassCastException: comparator.bankAccount cannot be cast to java.lang.Comparable
at comparator.comparator.method1(comparator.java:25)
at comparator.comparator.main(comparator.java:20)
我无法理解这种新类型的错误。任何帮助将非常感激。
最佳答案
您根本无法将 bankAccount
类型的对象转换为 Comparable
。您需要在 bankAccount
类中实现 Comparable
接口(interface)并重写 compareTo()
方法。
public class bankAccount implements Comparable {
@Override
public int compareTo(Object o){
// TODO Auto-generated method stub
// Your logic goes here
return 0;
}
}
关于java - 无需实现即可比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19827882/