我最近发现JDK6 中的ProcessBuilder类不会覆盖equals(). 有原因吗?由于该类是可变的,我可以理解为什么它不覆盖hashCode().
我很惊讶地看到这段代码不起作用:
ProcessBuilder x = new ProcessBuilder("abc", "def");
ProcessBuilder y = new ProcessBuilder("abc", "def");
if (x.equals(y)) { // they are never equal
// something important here
}
我查看了类的 JDK6 源代码ProcessBuilder,但没有看到equals().
我有一种感觉,除了这一堂课之外,还有更深层次的原因。也许这是故意的?