Java十大简单性能优化(19)

9.优化您的hashCode()和equals()方法

如果您不能使用EnumMap , 请至少优化hashCode()和equals()方法 。 一个好的hashCode()方法是必不可少的 , 因为它将阻止对更昂贵的调用 , 因为它将equals()为每个实例集生成更多不同的哈希存储桶 。

在每个类层次结构中 , 您可能都有流行和简单的对象 。 让我们看一下jOOQ的org.jooq.Table实现 。

最简单 , 最快的实现方法hashCode()是:

1个

2

3

4

5

6

7

8

9

10

// AbstractTable a common Table base implementation:

@Override

publicinthashCode() {

// [#1938
This is a much more efficient hashCode()

// implementation compared to that of standard

// QueryParts

returnname.hashCode();

推荐阅读