编辑:规范为装箱转换提供了 一些
保证。从5.1.7节开始:
如果装箱的值p为true,false,一个字节, u0000到
u007f范围内的char或-128和127之间的整数或短数,则令r1和r2为任何两次装箱转换的结果的p。r1 == r2总是这样。
请注意,该实现 可以 使用更大的池。
我 确实会 避免编写依赖于此的代码。不是因为它可能会失败,而是因为它并不明显-很少有人会非常了解规范。(我以前认为这是依赖于实现的。)
您应该使用
equals或比较基础值,即
if (foo.equals(bar))
要么
if (foo.intValue() == bar.intValue())
请注意,即使保证自动装箱使用固定值,其他调用者也始终可以创建单独的实例。



