首页 > 学院 > 开发设计 > 正文

包装类

2019-11-08 01:57:05
字体:
来源:转载
供稿:网友

一、了解包装类

java中一直提倡一个概念:一切皆对象,那么结合object的特点实际上就非常容易理解(在全部都是对象时,Object才可以达到统一参数的目的),但是在这之中就出现了一个不和谐的地方:基本数据类型不是对象,所以最早时部分人把基本数据类型做一个简单包装。类似如下结构:

 

 

以上代码简单,但是比较麻烦,针对基本数据类型给出了系统包装类:int(Integer),char(Character),byte(Byte),short(Short),long(Long),float(Float),double(double),booleanBoolean)。

但是以上八中包装类分为两组:Boolean、Character;

1)对象型包装类(直接继承了object类):

2)数值型包装类:(继承了Number类):Byte、Short、Integer、Long、Float、Double;

Number本身是一个抽象类,再此类中提供了有如下的方法:byteValue(),shortValue()、longValue()、doubleValue()、floatValue()、这六个方法就是就包装类里取出被包装的基本数据。

二、装箱与拆箱

现在对于数据就提供有基本数据类型与之对应的包装类型,而这两者的转换定义如下:

1. 装箱操作:将基本数据类型变为包装类对象,一般利用各个包装类的构造方法进行。

2.拆箱操作:将包装类中所含的基本类型取出,一般都使用Number类定义的方法。

范例:以int和Integer为例:

 

范例:以double和Double为例

 

Integer和double都属于数值型的包装类,而对于包装类还存在有对象型。

范例:以boolean和Boolean为例

 

以上代码都是在jdk1.5之前使用的,一切的操作必须手工的装箱和拆箱,但从jdk1.5后开始增加了自动装箱和自动拆箱的功能,所有的包装类对象也可以直接进行各种数学计算。

范例:自动装箱和自动拆箱

 

所以在以后开发中没有必要再去调用构造或者调用XXXValue()方法进行操作了。既然有了自动装箱和拆箱操作,则意味着基本数据类型可以直接被object接受。

范例:使用object接受double数据

 

目前为止,object可以接受所有的参数了。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表