我是靠谱客的博主 俊逸皮卡丘,最近开发中收集的这篇文章主要介绍Java包装类与拆装箱机制,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

自动拆箱与自动装箱

      • 什么是包装类?
      • 什么是自动拆箱与自动装箱?
      • 什么时候使用包装类?

什么是包装类?

java语言是一个面向对象的语言,但是java中的基本数据类型却不是面向对象的,但是我们在实际使用中经常将基本数据类型转换成对象,便于操作,比如,集合的操作中,这时,我们就需要将基本类型数据转化成对象。
为了解决这个问题,Java为这8种基本数据类型分别定义了相应的引用类型,并称之为基本数据类型的包装类(Wrapper Class)。包装类均位于java.lang包下,其和基本数据类型的对应关系如下表所示:

基本类型包装类
byteByte
shortShort
intInteger
longLong
charCharacter
floatFloat
doubleDouble
booleanBoolean

什么是自动拆箱与自动装箱?

包装类创建对象的方式就跟其他类一样。

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包装类与拆装箱机制所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(73)

评论列表共有 0 条评论

立即
投稿
返回
顶部