投射错误?我的作业的数组和对象

时间:2016-02-11 07:00:23

标签: java arrays

我的任务是创建一个管理棒球队的命令行应用程序。其中一种方法是克隆和比较,但标题是

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

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我认为缺少某些信息并且无法给出正确而准确的答案,但我的猜测是您没有将实际的instanceof对象传递给该方法。

您可以使用public boolean equals(Object obj) { if (obj instanceof Player) { // Compare here } return false; // Cannot be equal, different types } 验证

kerberos