JAVA之装箱与拆箱(包装类)

包装类与基本数据类型的关系

基本类型包装类
byteByte
shortShort
intInterger【特殊】
longLong
doubleDouble
floatFloat
charcharacter【特殊】
booleanBoolean

装箱

  把基本类型的数据包装到包装类中 ( 基本类型的数据 -> 包装类 )

装箱实现

  1. 构造方法:
    Integer(int value) 构造一个新分配的Integer 对象,它表示指定的int值。
    Integer(String s) 构造一个新分配的Integer 对象,它表示String 参数所指示的int值。
    注意事项:
      传递的字符串,必须是基本类型的字符串,否则会抛出异常。
      例如:
    1. Integer i1= new Integer("25a2"); 错误写法
    2. Integer i1= new Integer("2522"); 正确写法
  2. 静态方法:
    static Integer value0f(int i) 返回一个表示指定的int值的Integer实例。
    static Integer valueOf(String s) 返回保存指定的String的值的Integer对象。

拆箱

  在包装类中取出基本类型的数据 ( 包装类 -> 基本类型的数据 )

拆箱实现

  int intValue() 以int类型返回该Integer的值。

例子

public class Main {

	public static void main(String[] args) {

		// 使用构造方法进行装箱
		Integer in1 = new Integer(123);
		Integer in2 = new Integer("123");
		System.out.println("第一个构造方法:" + in1);
		System.out.println("第二个构造方法:" + in2);

		// 使用静态方法进行装箱
		Integer in3 = Integer.valueOf(456);
		Integer in4 = Integer.valueOf("456");
		System.out.println("第一个静态方法:" + in3);
		System.out.println("第二个静态方法:" + in4);
		
		// 拆箱动作
		int i1 = in1.intValue();
		System.out.println("拆箱动作:" + i1);
		
		
	}

}

自动装箱

  直接把int类型的整数赋值包装类
  Integer in = 1; 相当于Integer in = new Integer(1);

自动拆箱

  in是包装类,无法直接参与运算,可以自动转换为基本数据类型,在进行计算
  in+2;  相当于in. intVale() + 2 = 3
  in = in. intVale() + 2 = 3又是一个自动装箱

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值