Integer 128=Integer 128结果是false 然而Integer 127==Integer 127的结果是true。
原因是Integer有一个缓存区 ,缓存区的范围是-128---127 超过这个范围就会新建对象。也就是说第一个比较的是地址值 第二个比较的是字面值。
本文探讨了Integer类的缓存区机制,解释了为何Integer128与自身比较为false,而Integer127与自身比较为true的原因。文章指出,Integer类使用了一个缓存区来存储-128到127之间的整数对象,超出此范围则创建新对象。
Integer 128=Integer 128结果是false 然而Integer 127==Integer 127的结果是true。
原因是Integer有一个缓存区 ,缓存区的范围是-128---127 超过这个范围就会新建对象。也就是说第一个比较的是地址值 第二个比较的是字面值。

被折叠的 条评论
为什么被折叠?