equals()方法(并且就此而言,还包括compareTo()方法)可以成为性能热点(例如,在高通信量HashMap中)。我想知道当这些方法被证明是必要的时候,人们会采用什么技巧来优化这些方法。
例如,IntelliJ IDEA生成以下代码:
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
...
}您还遇到了什么可以作为编写性能良好的equals()方法的指导原则?
发布于 2009-07-22 02:59:41
How to Write an Equality Method in Java是一篇非常详细和写得很好的文章,解释了编写相等方法时的常见陷阱以及如何避免它们。
发布于 2009-07-22 01:30:07
我想你已经说到关键的部分了,因为你说:
...when他们被证明是必要的。
记住优化的一般规则:
之前先创建
我在几年前的一堂课上就听到过这句话,据我所知,C2就是它的来源。
发布于 2009-07-22 01:40:37
看看Joshua Bloch的一本名为"Effective Java“的书。它有一些令人惊叹的技巧和关于这个问题的整个部分。祝你好运!
https://stackoverflow.com/questions/1162583
复制相似问题