概述
自动拆箱与自动装箱
- 什么是包装类?
- 什么是自动拆箱与自动装箱?
- 什么时候使用包装类?
什么是包装类?
java语言是一个面向对象的语言,但是java中的基本数据类型却不是面向对象的,但是我们在实际使用中经常将基本数据类型转换成对象,便于操作,比如,集合的操作中,这时,我们就需要将基本类型数据转化成对象。
为了解决这个问题,Java为这8种基本数据类型分别定义了相应的引用类型,并称之为基本数据类型的包装类(Wrapper Class)。包装类均位于java.lang包下,其和基本数据类型的对应关系如下表所示:
基本类型 | 包装类 |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
char | Character |
float | Float |
double | Double |
boolean | Boolean |
什么是自动拆箱与自动装箱?
包装类创建对象的方式就跟其他类一样。
Integer num = new Integer(0);
//创建一个数值为0的Integer对象
在JDK1.5之后,基本数据类型和包装类之间可以自动地相互转换:
Integer
num1 = 1;
//自动装箱
int num2 = num1;
//自动拆箱
在执行自动装箱代码的时候,系统为我们执行了:
Integer num1 = Integer.valueOf(1);自动创建了一个interger对象
执行自动拆箱时候,系统为我们执行了:
int num2 = num1 .intValue();直接返回value值
什么时候使用包装类?
如果仅仅有基本数据类型,那么在实际使用时将存在很多的不便,很多地方都需要使用对象而不是基本数据类型。比如,在集合类中,我们是无法将int 、double等类型放进去的,因为集合的容器要求元素是Object类型。而包装类型的存在使得向集合中传入数值成为可能,包装类的存在弥补了基本数据类型的不足。
例如希望向集合Arraylist当中存储基本类型数据,就必须使用基本类型对应的“包装类”,否则程序将会报错:
Arraylist<integer> list=new ArrayList<>()
最后
以上就是俊逸皮卡丘为你收集整理的Java包装类与拆装箱机制的全部内容,希望文章能够帮你解决Java包装类与拆装箱机制所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复