包装类面试题理解:自动装拆箱。

/*
 * 在Integer类中定义了一个成员内部类ItegerCache,这个类中有一个静态代码块。
 * 创建了一个Integer类型的数组,将-128到127之间的256个数字已经封装成Integer对象存放在这个数组中。
 * 在这个范围内你不会创建新的对象,但是new出来的对象不在这个范围内。
 */
public class Demo01 {
	public static void main(String[] args) {
		//自动装箱
		Integer i = -128;
		Integer i1 = -128;
		System.out.println(i==i1);//在范围内,相同
		
		Integer i2 = -129;
		Integer i3 = -129;
		System.out.println(i2==i3);//不在范围内,不同
		
		Integer i4 = 127;
		Integer i5 = 127;
		System.out.println(i4==i5);//在范围内,相同
		
		Integer i6 = 128;
		Integer i7 = 128;
		System.out.println(i6==i7);//不在范围内,不同
		
		//利用包装类的构造函数
		Integer i8 =new Integer(127);
		Integer i9 =new Integer(127);
		System.out.println(i8==i9);//在范围内但是是new出来的,不同。
		
	}
}

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43117449/article/details/82957922