Tag: 对象比较

Java整数池。 为什么?

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