gpt4 book ai didi

java - 比较对象名称

转载 作者:行者123 更新时间:2023-12-02 02:50:21 26 4
gpt4 key购买 nike

我需要比较两个对象,如果名称相等则返回 true,否则返回 false。

public class Team {
private String TeamName;

public Team(String name)
{
TeamName = name;

}

// I was trying this way but I was not able to do it.
public boolean equals(Object object) {
if (TeamName.equals(objet.toString())) {
return true;
}
else{
return false;
}

最佳答案

您应该将 Team 类中的 name 字段替换为 TeamName
重复 Team 是多余的,变量名称应以小写字母开头。

对于相等性,首先必须检查类型兼容性,然后可以通过比较 name 字符串字段来使用 equals() 方法。
您可以使用 Objects.equals(Object a, Object b) 来避免对 name 进行 null 检查,而不是直接使用 String#equals(Object o) 方法 字段。

最后,当你重写equals()时,hashcode()也应该是重写以保持这两个方法一致。

@Override
public boolean equals(Object object) {
if (!(object instanceof Team)){
return false;
}

Team otherTeam = (Team) object;
return Objects.equals(name, otherTeam.name);
}

@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((name == null) ? 0 : name.hashCode());
return result;
}

关于java - 比较对象名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43958952/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com