Java中的基本类型与封装类型以及自动装箱、拆箱
2013-12-21 16:10
471 查看
Java中的类型分为原始类型和对应的封装类型(装箱类型),基本类型包括byte字节型(一个字节)、char字符型(两个字节)、short短整型(两个字节)、int整型(四个字节)、long长整型(八个字节)、float浮点型(四个字节)、double 双精度浮点型(八个字节)、boolean型(一个字节)八种类型,对应的封装类型分别是Byte、Character、Short、Integer、Long、Float、Double、和Boolean。
基本类型和封装类型主要存在三个方面的区别:1.基本类型只有值,而两个封装类型可以有相同的值和不同的同一性;2.基本类型只有功能完备的值,而封装类型除此之外还有非功能值:null;3.基本类型比封装类型更节省空间和时间。
Java1.5发行版本增加了自动装箱(autoboxing)和自动拆箱(autounboxing)功能,提供了基本类型和封装类型的相互转换。自动装箱实现了基本类型向封装类型的转换,如下面的代码。
Integer number = 10;
实际的执行代码是:
Integer number = new Integer(10);
对于自动拆箱,形如下代码:
Integer number = 10;
int number2 = number;
实际执行的代码为:
int number2 = number.intValue();
当在一项操作中混合使用基本类型和封装类型时,封装类型就会自动拆箱。
封装类型最好不要过度用,否则会影响性能,如下情形可以合理使用。作为集合中的元素、键和值,在参数化类型中必须使用封装类型作为类型参数,如不能声明ThreadLocal<int>类型,而是ThreadLocal<Integer>;在进行反射的方法调用时必须使用封装类型。
基本类型和封装类型主要存在三个方面的区别:1.基本类型只有值,而两个封装类型可以有相同的值和不同的同一性;2.基本类型只有功能完备的值,而封装类型除此之外还有非功能值:null;3.基本类型比封装类型更节省空间和时间。
Java1.5发行版本增加了自动装箱(autoboxing)和自动拆箱(autounboxing)功能,提供了基本类型和封装类型的相互转换。自动装箱实现了基本类型向封装类型的转换,如下面的代码。
Integer number = 10;
实际的执行代码是:
Integer number = new Integer(10);
对于自动拆箱,形如下代码:
Integer number = 10;
int number2 = number;
实际执行的代码为:
int number2 = number.intValue();
当在一项操作中混合使用基本类型和封装类型时,封装类型就会自动拆箱。
封装类型最好不要过度用,否则会影响性能,如下情形可以合理使用。作为集合中的元素、键和值,在参数化类型中必须使用封装类型作为类型参数,如不能声明ThreadLocal<int>类型,而是ThreadLocal<Integer>;在进行反射的方法调用时必须使用封装类型。
相关文章推荐
- Java基本数据类型的大小,他们的封装类以及自动拆箱和装箱
- Java中的基本类型与封装类型以及自动装箱、拆箱、String类型的解释
- Java八种基本数据类型的大小,以及封装类,自动装箱/拆箱的用法?
- Java中8种基本类型的封装类型——自动装箱和拆箱
- java基本数据类型与字符串之间的转换(基本数据类型、对象封装类、自动装箱、自动拆箱)
- 【JAVA学习】java基本数据类型与字符串之间的转换(基本数据类型、对象封装类、自动装箱、自动拆箱)
- 黑马程序员--张孝祥Java高新技术-JDK1.5新特性(二)【基本数据类型的自动拆箱与装箱,枚举】以及享元设计模式
- JAVA进阶之旅(一)——增强for循环,基本数据类型的自动拆箱与装箱,享元设计模式,枚举的概述,枚举的应用,枚举的构造方法,枚举的抽象方法
- 自动拆箱&自动装箱以及String 和基本数据类型封装类生成的对象是否相等
- Java 基本数据封装类自动装箱与拆箱
- Java高新技术【1】 (静态导入-可变参数-增强for循环-基本数据类型的自动拆箱与装箱)
- Java基础知识强化66:基本类型包装类之JDK5新特性自动装箱和拆箱
- java 自动装箱与拆箱 (基本类型与包装类型)
- Java深入(高新技术)(二):开发环境、静态导入、可变参数、增强for循环、基本数据类型的自动拆箱与装箱、享元模式
- 基本数据类型运算以及自动装箱与拆箱
- Java中基本数据类型的自动拆箱和装箱
- Java基础加强<二>可变参数、增强for循环、基本类型的自动拆箱与装箱、枚举
- Java中基本数据类型的自动拆箱和装箱
- java语言基础(59)——jdk5自动装箱和拆箱(基本数据类型与包装类之间的转换)
- 加强eclipse的使用技巧。可变参数。基本数据类型自动装箱和拆箱。枚举。反射。数组反射的应用。ArrayList和HashSet。JavaBean