我记得读过一段,可能在 Bloch 的Effective Java中,说在大多数情况下,
String a = "fish";
String b = "fish";
在大多数情况下 a == b 因为字符串是不可变的。但是由于对象的临时构造或类似的构造, new String("fish") 会产生一个不同的对象引用。
我浏览了有关 equals()、不变性和对象创建的 Bloch 章节,但找不到我记得的这一点!扯掉我的头发,有人记得这是为什么的描述吗?它甚至可能不在EJ中,但我想找到它。提示:这在哪里解释是我的实际问题。