对于我写的一个名为AssassinNodeData的类,我有一个简单的问题。我正在尝试编写一个简单的equals()方法。我希望能够检查Object参数是否是AssassinNodeData对象,并且此对象的player字段与参数的player字段不区分大小写。
到目前为止,这几乎没有:
public boolean equals(Object data) {
AssassinNodeData other = (AssassinNodeData) data;
if (!(data instanceof AssassinNodeData) && !other.getPlayer().equalsIgnoreCase(player))
if (!( data instanceof String) && !other.getPlayer().equalsIgnoreCase(player))
return false;
return true;
}
任何建议都将不胜感激!
答案 0 :(得分:0)
equals
方法不应该是static
,声明它的正确方法是:
public boolean equals(Object obj) {
在这里你需要你的代码,例如:
if (!(obj instanceof AssassinNodeData)) {
return false;
}
AssassinNodeData other = (AssassinNodeData) obj;
return other.getPlayer.equals(player);
正如您所看到的,我们首先检查对象是否是正确的类,然后我们将它转换为我们期望的类。 之后,您只需从另一个获取字段,并将它们与当前对象字段进行比较。