Integer i1 = 127;
Integer i2 = 127;
System.out.println(i1 == i2); //ture
/*----------------*/
Long l1 = 127L;
Long l2 = 127L;
System.out.println(l1 == l2); //ture
/*----------------*/
Character ch1 = 127;
Character ch2 = 127;
System.out.println(ch1 == ch2); //ture
//^^^^^^^^^^^^^^^^^^^^^^^^
Integer i1 = new Integer(127);
Integer i2 = new Integer(127); //new对象,堆内存开辟空间,地址值肯定不一样
System.out.println(i1 == i2); //false
/*----------------*/
Long l1 = new Long(127L);
Long l2 = new Long(127L);
System.out.println(l1 == l2); //false
//^^^^^^^^^^^^^^^^^^^^^^^^
Integer i1 = 128;
Integer i2 = 128;
System.out.println(i1 == i2); //false
/*----------------*/
Long l1 = 128L;
Long l2 = 128L;
System.out.println(l1 == l2); //false
/*----------------*/
Character ch1 = 128;
Character ch2 = 128; //超出byte范围,不走常量池,而在堆内存开辟空间
System.out.println(ch1 == ch2); //false
|
|