Java Integer(-128~127) == equals 比较

Java Integer(-128~127) == equals 比较

比较代码块

System.out.println("情况1、int 原生数据类型,内存重用。");
int a1 = 1280000000;
int b1 = 1280000000;
System.out.println("int 1280000000 a1==b1 结果:"+(a1 == b1));
System.out.println("===================================================================\n");

System.out.println("情况2、Integer(-128~127) 为节省内存空间,使用原生数据类型int,依然会内存重用;");
Integer a2=127;
Integer b2=127;
System.out.println("Integer 127 a2==b2        结果:"+(a2 == b2));
System.out.println("Integer 127 a2.equals(b2) 结果:"+a2.equals(b2));
System.out.println("===================================================================\n");

System.out.println("情况3、Integer 超出范围时,分别存储;");
Integer a3=128;
Integer b3=128;
System.out.println("Integer 128 a3==b3        结果:"+(a3 == b3));
System.out.println("Integer 128 a3.equals(b3) 结果:"+a3.equals(b3));
System.out.println("");
System.out.println("说明:  ==      进行 地址+数值 比较;");
System.out.println("    equals   进行           数值 比较;");

比较结果及说明

情况1、int 原生数据类型,内存重用。
int 1280000000 a1==b1 结果:true
===================================================================

情况2、Integer(-128~127) 为节省内存空间,使用原生数据类型int,依然会内存重用;
Integer 127 a2==b2        结果:true
Integer 127 a2.equals(b2) 结果:true
===================================================================

情况3、Integer 超出范围时,分别存储;
Integer 128 a3==b3        结果:false
Integer 128 a3.equals(b3) 结果:true

说明:  ==      进行 地址+数值 比较;
      equals   进行           数值 比较;

点滴都是积累!

不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈的积累!

发布了60 篇原创文章 · 获赞 52 · 访问量 3739

猜你喜欢

转载自blog.csdn.net/Asia1752/article/details/103992274