【发布时间】:2013-05-27 12:30:37
【问题描述】:
我被告知以下代码不遵循正确的 getter 和 setter 约定。我正在努力寻找为什么或在哪里。我正在使用构造函数将新的团队名称传递给 set 方法。我是 Java 的初学者,但我认为 getter 和 setter 方法看起来都不错。我错了吗?谢谢。
public class Team {
private String teamName;
public Team(String newName) {
setName(newName);
}
public String getName() {
return teamName;
}
public void setName(String newName) {
teamName = newName;
}
public String toString() {
return teamName;
}
public boolean equals(Team t){
if(t.getName().equals(teamName)){
return true;
} else{
return false;
}
}
}
【问题讨论】:
-
与您的问题无关,但
equals()的正确签名采用Object参数。同样,一旦实现equals(),hashCode()也应该实现...... -
谈到适当的约定,原始字段的名称会更好看为
name。在成员名称中使用“团队”是多余的。 -
另外:
return t.getName().equals(teamName);是相同equals()代码的较短版本。
标签: java