面试中integer一些容易出错的问题

public static void main(String[] args) {
		Integer a=new Integer(3);
		Integer b=3;
		int c=3;
		Integer d=3;
		Integer e=new Integer(3);
		Integer f=1223;
		Integer g=1223;
		System.out.println(a==b);//false 两个引用没有引用同一对象
		System.out.println(a==c);//true a自动拆箱成 int 类型再和 c 比较
		System.out.println(b==c);//true b自动拆箱成 int 类型再和 c 比较
		System.out.println(b==d);//true 自动拆箱成int相比
		System.out.println(a==e);//false 两个引用没有引用同一对象
		System.out.println(f==g);//false -128 到 127 之间会缓存,所以引用地址相同.不在范围类则每次去创建、不同

	
	}

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页