java Integer == 比较的小问题
2014-02-08 17:38
169 查看
示例代码:
找到的相关解释如下:
因为java在执行包装类的自动装箱功能时,对于-128到127之间的整数被装箱为Interger对象后,该对象会被另外一个对该证书进行自动装箱的操作重复使用,也就是说多次对同一个-128到127范围内的整数进行Integer装箱的操作,使用的都是第一次进行装箱操作时生成的对象。而对于大于127的整数,就会new一个新对象,两个对象使用==比较由于地址不同所以返回false。
@Test public void testEquals() { Integer a = 127; Integer b = 127; if(a == b) { System.out.println(true); } else { System.out.println(false); } a = 128; b = 128; if(a == b) { System.out.println(true); } else { System.out.println(false); } //打印结果: //true //false }
找到的相关解释如下:
因为java在执行包装类的自动装箱功能时,对于-128到127之间的整数被装箱为Interger对象后,该对象会被另外一个对该证书进行自动装箱的操作重复使用,也就是说多次对同一个-128到127范围内的整数进行Integer装箱的操作,使用的都是第一次进行装箱操作时生成的对象。而对于大于127的整数,就会new一个新对象,两个对象使用==比较由于地址不同所以返回false。
相关文章推荐
- Java 中 Integer 包装器类比较相等问题(拆箱、装箱、享元)
- java Integer 比较的问题
- java Integer和int之间==的比较问题
- JAVA中Integer类型变量比较问题
- 【Java】Integer变量相等(==)比较问题
- Java中int和Integer比较问题
- java中Integer比较需要注意的问题
- java Integer和int之间==的比较问题。求解释
- java Integer和int之间==的比较问题 equal
- Java自动装箱解箱问题&&int和Integer类型==比较问题
- java Integer和int之间==的比较问题。求解释
- java中Integer的比较的问题
- java两Integer类型用==比较的问题
- 今天遇到关于JAVA INTEGER类型的问题 不过还好 现在解决了,
- Java中文问题之解决方法,比较全
- 关于java String的“==”和equals()比较、引用的小问题
- Java进阶--Integer与int的种种比较
- Java包装类Integer比较
- Timestamp与java.util.date进行比较的问题
- java Integer的比较实践(转自blogjava)