java自动装箱和拆箱

package com.example.main;

/*
 *  
 *  基本类型:int,double,float,long,boolean,char,btye,shor
 *  基本类型包装类:Integer,Double,Float,Long,Boolean,Char,Byte,Short
 *  两者有什么差别,包装类是类,是对象,而基本类型是有值的“变量”,再细化一点,就是包装类的实例(对象)创建在堆上,
 *  而基本类型创建在栈上,这是JAVA为了程序的速度考虑做出的优化,
 *  那么既然是创建在栈上,所以基本类型都有大小的规定(每种基本类型所占的字节是一定的)
 *  
 */

public class Main {

	public static void main(String[] args) {

		System.out.println("java 自动装箱和拆箱");
		/*
		 * 实际上,程序运行时,系统为我们执行了下面一条语句: Integer number = new Integer(50);
		 */
		Integer i = 50;

		System.out.println("java 实现自动装箱" + i);
		/*
		 * 实际上,程序运行时,系统为我们执行了下面一条语句: int p = i.intValue();
		 */
		int p = i;

		System.out.println("java 实现自动拆箱" + p);

		// 当Int值在-128~127之间时,java使用同一个对象处理,也就是说他会使用同一个对象对其进行处理
		Integer m = 100;
		Integer n = 100;
		/*
		 * " == " 比较的是哈希码的值,也就是比较 hashCode()
		 * 方法的返回值,这个值是唯一的,在底层它是用来确定对象在堆内存上的存储位置。 
		 * " == " 也可以用来做基本数据类型的比较。 
		 * equals 方法大家都知道,它是用来比较两个对象的内容是否一样。
		 */
		System.out.println("m == n " + (m == n));
		System.out.println("m equals (n) " + m.equals(n));

		// 当int值超过128时,java就会使用不同的对象处理

		Integer r = 128;
		Integer s = 128;

		System.out.println("r == s " + (r == s));
		System.out.println("r equals (s) " + r.equals(s));
	}

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值