对象和参数测试

时间:2016-06-13 05:48:08

标签: java string object parameters

对于我写的一个名为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; 
}

任何建议都将不胜感激!

1 个答案:

答案 0 :(得分:0)

equals方法不应该是static,声明它的正确方法是:

public boolean equals(Object obj) {

在这里你需要你的代码,例如:

    if (!(obj instanceof AssassinNodeData)) {
        return false;
    }
    AssassinNodeData other = (AssassinNodeData) obj;
    return other.getPlayer.equals(player);

正如您所看到的,我们首先检查对象是否是正确的类,然后我们将它转​​换为我们期望的类。 之后,您只需从另一个获取字段,并将它们与当前对象字段进行比较。