为什么设计了包装类
ava 中,万物皆对象,所有的操作都要求用对象的形式进行描述。但是 Java 中除了对象(引用类型)还有八大基本类型,它们不是对象。那么,为了把基本类型转换成对象,最简单的做法就是「将基本类型作为一个类的属性保存起来」,也就是把基本数据类型包装一下,这也就是包装类的由来。 这样,我们先自己实现一个简单的包装类,以包装基本类型 int 为例: final 修饰,也就是说 Java 内置的「包装类是无法被继承的」。 2. 装箱与拆箱 OK,现在我们已经知道了,存在基本数据类型与其对应的包装类,那么,他们之间互相的转换操作就称为装箱与拆箱:
下面以 Integer 为例,我们来看看 Java 内置的包装类是如何进行拆装箱的:知道各位发现没,value 被声明为 final 了,也就是说「一旦构造了包装器,就不允许更改包装在其中的值」。 另外,需要注意的是,这种形式的代码是 「JDK 1.5 以前」的!!!「JDK 1.5 之后」,Java 设计者为了方便开发提供了「自动装箱」与「自动拆箱」的机制,并且可以直接利用包装类的对象进行数学计算。
还是以 Integer 为例我们来看看自动拆装箱的过程: (编辑:甘孜站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |