这是 Employee 类的一个方法。它比较employee 的两个对象,包含四个变量:id(一个int)、name、phone 和job title(所有字符串)。
public int compareTo(Employee other) {
if (this.id == other.id) {
if (this.name.compareTo(other.name) == 0) {
if (this.phoneNumber.compareTo(other.phoneNumber) == 0) {
if (this.jobTitle.compareTo(other.jobTitle) == 0)
return 0;
else if (this.jobTitle.compareTo(other.jobTitle) > 0)
return 1;
else
return -1;
}
else if (this.phoneNumber.compareTo(other.phoneNumber) > 0)
return 1;
else
return -1;
}
else if (this.name.compareTo(other.name) > 0)
return 1;
else
return -1;
}
else if (this.id > other.id)
return 1;
else
return -1;
}
代码工作正常,但我知道它变得相当箭头形,而且有点复杂。有人对清理这个 if/else 语句集合有什么建议吗?
编辑:我知道在 ID 之后继续比较可能看起来违反直觉,这在逻辑上是唯一的,但顺其自然!