我的任务是创建一个管理棒球队的命令行应用程序。其中一种方法是克隆和比较,但标题是
public boolean equals(Object obj)
我有一个名为team的类文件,默认构造函数是一个玩家数组(Player [])和另一个构造玩家的类文件。到目前为止,这是我与方法的比较。
Player player4 = (Player) obj;
player4.mutateErrors(2);
player4.mutateHits(3);
player4.mutateName("james");
我得到了这个错误:
线程中的异常" main" java.lang.ClassCastException:java.lang.Object无法强制转换为cse214hw1.Player 在cse214hw1.CSE214HW1.main(CSE214HW1.java:42)
Java结果:1
有什么想法吗?
答案 0 :(得分:0)
我认为缺少某些信息并且无法给出正确而准确的答案,但我的猜测是您没有将实际的instanceof
对象传递给该方法。
您可以使用public boolean equals(Object obj) {
if (obj instanceof Player) {
// Compare here
}
return false; // Cannot be equal, different types
}
验证
kerberos