java为什么要设计包装类_为什么需要Java包装类,包装类使用操作

包装类

包装类是对基础类型数据的包装,让基础数据类型“伪装”成类,具有类的特性,可以进行类的方法操作。

一、为什么有包装类?

Java 是个面向对象语言,所有的操作都是基于对象。Object 类是 Java 中的对象基础,所有 Java 中的类都有个共同的始祖 Object 类,Object 类可以表示任意类型数据。但 Java 中的一些基础类型数据,并不是对象,没有对象的操作。如何让对象类型与基础联系数据联系起来,这时就需要一个过渡类型数据,称为包装类。如下面这个例子:

0d0de4413e3cbc969c06ce8b506db4cc.png

有时我们不可避免的会遇到上面的问题,直接赋值肯定报类型错误了。这时我们就会想到引入另外一个数据当作纽带,这样就可以将 obj 和 i 联系起来。这个第三者通常也是个类,如

eb0af088420c7d78c14616a9cf960edd.png

当要把 obj 的值赋给 i 时,操作就变成如下方式:

28e9922da896d670207c98818d27f031.png

通过引入一个中间类,就可以将 Object 类型数据和基础类型数据建立了联系。 Java 中的基础类型没有类的操作属性,而 Java 中的操作都是基于对象。很多操作如:ArrayList、HashMap、泛型等都是针对对象的操作,为了让基础类型也具有类的特性于是就引入了包装类。 包装类是对基础类型性的包装,并丰富了基础类型的操作。

二、包装类种类

包装类是对基础数据的包装,所以种类也与基础数据类型对应,一共有8种。如下:

45a11ce7a02884bc2c0b01df5965f36b.png

除了Integer和Character两个包装类外,其它包装类名称都是基础类型首字母大写。

三、装箱与拆箱

包装类是对基础类型数据的包装,包装类是类类型数据。从上文可知将一个基础类型数据转换成包装类类型数据需要2步。以int数据为例:

b3608e7366f3b566782995f5a790befc.png

自 JDK 1.5 版本后,Java 引入了自动装箱、拆箱操作。使基础类型数据和包装类类型数据可以直接互通使用,JVM 自动判断并进行装箱、拆箱,省去人为操作。还是以int为例:

3eab1ebdb52b6d7c4011d035e782f4cf.png自动装箱拆箱

其它类型数据也是同样的原理。

f27e5aaf5abfd67839094532c81db831.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值