包装类型数据 == 操作
作者:互联网
@Test
public void test12() {
Integer integer1 = 100000000;
Integer integer2 = 100000000;
System.out.println(integer1 == integer2); // false
System.out.println(Objects.equals(integer1, integer2)); // true
System.out.println(integer1.equals(integer2)); // true
}
@Test
public void test13() {
Long l1 = 10000000L;
Long l2 = 10000000L;
System.out.println(l1 == l2); // false
System.out.println(Objects.equals(l1, l2)); // true
System.out.println(l1.equals(l2)); // true
}
所有的相同类型的
包装类
对象之间
值的比较
,全部使用
equals
方法比较
对于
Integer var
= ?
在
-128
至
127
范围内的赋值,
Integer
对象是在
IntegerCache.
cache
产生,会复用已有对象,这个区间内的
Integer
值可以直接使用
==
进行判断,但是这个区间之外的所有数据,都会在堆上产生,并不会复用已有对象,这是一个大坑,
推荐使用 equals 方法进行判断
。
标签:integer2,包装,equals,System,println,Integer,类型,操作,out 来源: https://blog.csdn.net/yang_zzu/article/details/120462031