欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java128陷阱

程序员文章站 2024-03-07 13:26:15
...

 

                Integer a = 1000;
		Integer b = 1000;
		
		if(a == b) {
			System.out.println("相等");
		}


                //不会输出“相等”

 

		Integer a = 127;
		Integer b = 127;
		
		if(a == b) {
			System.out.println("相等");
		}


                //会输出“相等”

   

警告:
    自动装箱规范要求,boolean、byte、char<=127, -128<=  short、int  <=127被包装到固定的对象中。也就是说:刚才a和b都等于127,介于-128~127之间,所以他俩其实指向的是同一个对象,所以用==比较的话,肯定是true。

相关标签: Integer