几天前,我们在公司内切换到 Java 7 - 终于!Jay \o/ 所以我发现了这个Objects
类,并惊讶于方法hashCode()
和equals()
实现的时间有多短,与默认情况下由 Eclipse 生成的代码(ALT+SHIFT+S --> H)相比,减少了很多代码。
我想知道是否可以更改生成的 eclipse 的默认行为hashCode()
和equals()
?
我很想看到这个:
@Override
public int hashCode()
{
return Objects.hash(one, two, three, four/*, ...*/);
}
而不是这个:
@Override
public int hashCode()
{
final int prime = 31;
int result = 1;
result = prime * result + ((one == null) ? 0 : one.hashCode());
result = prime * result + ((two == null) ? 0 : two.hashCode());
result = prime * result + ((three == null) ? 0 : three.hashCode());
result = prime * result + ((four== null) ? 0 : four.hashCode());
// ...
return result;
}
也是如此equals()
。这是我从中得到的文章。
任何想法如何最好地实现这一点?