Java自动拆装箱面试_跟王老师学泛型(二):Java自动装箱与拆箱

Java 自动装箱与拆箱(Autoboxing and unboxing)

主讲教师:王少华 QQ群:483773664

学习目标:

掌握Java 基本数据对应的包装类

掌握Java 自动装箱与拆箱

一、基本数据类型对应的包装类

Java为每一种基本数据类型都提供了一个包装类,而这些包装类就在java.lang包中。Java共有8个包装类。如下图所示:

a2bb21760ea425df5095707551a1a268.png

包装所有数字类型类都继承自Number类,Number类是一个抽象类。

a4b6a1b1f31c79f2c44604c41f3b60dd.png

二、什么是自动装箱拆箱

基本数据类型的自动装箱(autoboxing)、拆箱(unboxing)是自J2SE 5.0开始提供的功能。

一般我们要创建一个类的对象实例的时候,我们会这样:

当我们创建一个Integer对象时,却可以这样:

实际上,执行上面那句代码的时候,系统为我们执行了:Integer i = Integer.valueOf(100);此即基本数据类型的自动装箱功能

从上面的代码中,大家可看出integer100为一个Integer类型的引用,int100为一个int类型的原始数据类型。但是,我们可以将一个Integer类型的对象赋值给其相应原始数据类型的变量。这便是拆箱。

拆箱与装箱是相反的操作。装箱是将一个原始数据类型赋值给相应封装类的变量。而拆箱则是将一个封装类的变量赋值给相应原始数据类型的变量。

三、基本数据类型与包装类的差别

基本数据类型不是对象,也就是使用int、double、boolean等定义的变量、常量。基本数据类型没有可调用的方法。

包装类是对象,后面就有很多方法可让你调用了

比如方法:字符串转基本数据类型

方法:public static type parseType(String type)

其他方法大家可以去API查看

四、面试题

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值