第四十章Java装箱拆箱机制
Java 中的基本数据类型不是对象型(引用类型)。但是在程序中有时需要对对象而不是基本数据类型进行操作。因此, java 里提供了一种叫做包装类 (wrapper) ,它能够 把基本数据类型包装成对象类型 。
Java 中的包装器类有两个主要的作用
1 .提供一种机制,将基本值 “ 包装 ” 到对象中,从而使基本值能够包含在为对象而保留的操作中,或者从带对象返回值的方法中返回。注意, java5 增加了自动装箱和拆箱,程序员过去需手工执行的许多包装操作,现在可以由 java 自动处理了。
2 .为基本值提供分类功能。这些功能大多数于各种转换有关:在基本值和 String 对象间相互转换,在基本值和 String 对象之间按不同基数转换,如二进制、八进制和十六进制等。
基本数据类型及包装类型的对应关系 :
自动装箱和拆箱从 Java 1.5 开始引入,目的是将原始类型值转自动地转换成对应的对象。自动装箱与拆 箱的机制可以让我们在 Java 的变量赋值或者是方法调用等情况下使用原始类型或者对象类型更加简单直接。
如果你在 Java1.5 下进行过编程的话,你一定不会陌生这一点,你不能直接地向集合 (Collections) 中放入原始类型值,因为集合只接收对象。通常这种情况下你的做法是,将这些原始类型的值转换成对象,然后将 这些转换的对象放入集合中。使用 Integer,Double,Boolean 等这些类我们可以将原始类型值转换成对应的对 象,但是从某些程度可能使得代码不是那么简洁精炼。为了让代码简练, Java 1.5 引入了具有在原始类型和 对象类型自动转换的装箱和拆箱机制。但是自动装箱和拆箱并非完美,在使用时需要有一些注意事项,如果 没有搞明白自动装箱和拆箱,可能会引起难以察觉的 bug 。
Integer i = 5;//装箱操作
int n = i;//拆箱操作
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/721684.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!