我到处读到,当您在 Java 中定义一个介于 -128 到 127 之间的整数时,它不是创建一个新对象,而是返回一个已经创建的对象。
除了让新手程序员比较 Integer 对象以查看它们是否是相同的数字之外,我认为这样做没有任何意义==
,但我认为这很糟糕,因为他们确信他们认为他们可以将任何 Integer 与 进行比较==
,并且还在教学在任何编程语言中都是一个不好的做法:将两个“不同”对象的内容与==
.
这样做的原因还有其他原因吗?或者在设计 JavaScript 中的可选分号之类的语言(在我看来)时,这只是一个错误的决定?
编辑:我在这里看到他们解释了行为:为什么整数常量池的行为在 127 处发生变化?
我在问他们为什么将其设计为具有这种行为,而不是为什么会发生这种行为。