java中的自动装箱拆箱

/**
		 * 自动装箱,将基本类型转化为对象
		 */
		Integer autoboxingInt = 10;
		//以上的声明就是用到了自动的装箱:解析为:Integer autoboxingInt = new Integer(10);
		//9是属于基本数据类型的,原则上它是不能直接赋值给一个对象Integer的,但jdk1.5后你就可以进行这样的声明。自动将基本数据类型转化为对应的封装类型,成为一个对象以后就可以调用对象所声明的所有的方法。
		
		/**
		 * 自动拆箱,将对象转化为基本数据类型。因为对象是无法计算的,这里隐性的自动拆箱了。
		 */
		int unboxingInt = autoboxingInt;
		System.out.println(autoboxingInt - 1);
		
		/**
		 * Integer深入理解,给Integer直接赋值时,当范围在-127到128时,会调用缓存中的值。
		 */
		Integer integer1 = 10;
		Integer integer2 = 10;
		System.err.println("integer在-128到127之间的对象是相等的,因为java在底层进行了缓存,用来提高效率。"+(integer1 == integer2));
		Integer integer3 = 128;
		Integer integer4 = 128;
		System.err.println("integer在-128到127之间的对象是相等的,超过了就不是同一个对象了。128就超过了范围。"+(integer3 == integer4));

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值