Java包装类学习笔记(1)
2015-10-27 23:15
295 查看
Java作为面向对象的语言,在设计类时为八个基本数据类型设计了一个对应的类进行代表,这样八个和基本数据类型对应的类统称为包装类(Wrapper Class)
包装类均位于java.lang包,包装类和基本数据类型的对应关系如下所示:
基本数据类型 包装类
byte –>Byte
boolean–>Boolean
short–>Short
char–>Character
int–>Integer
long–>Long
float–>Float
double–>Double
在这八个类名中,除了Integer和Character类以后,其它六个类的类名和基本数据类型一直,只是类名的第一个字母大写即可。
注意前六个类派生于公共的超类Number。对象包装类是不可变的,一旦构造了包装类,就不允许更改包装在其中的值。
包装类也是由 final修饰的,因此无法定义子类。
假想定义一个整型数组列表。而尖括号中的类型参数不允许是基本类型,只能使用包装类来声明对象的数组列表。
比如:ArrayList list = new ArrayList<>( ) ;
当然,因为每个值都分别包装在对象中,ArrayList的效率远远低于int[ ]数组。
Java 5.0后支持自动装箱
list.add(3)将会自动转换为list.add(Interger.valueOf(3))
相反的,当将一个Interger对象赋给一个int值时,将会自动拆箱。
Int n = list.get( i );
将转换为
Int n = list.get( i ).intValue( );
甚至在算数表达式中也能够进行自动装箱和拆箱。
包装类均位于java.lang包,包装类和基本数据类型的对应关系如下所示:
基本数据类型 包装类
byte –>Byte
boolean–>Boolean
short–>Short
char–>Character
int–>Integer
long–>Long
float–>Float
double–>Double
在这八个类名中,除了Integer和Character类以后,其它六个类的类名和基本数据类型一直,只是类名的第一个字母大写即可。
注意前六个类派生于公共的超类Number。对象包装类是不可变的,一旦构造了包装类,就不允许更改包装在其中的值。
包装类也是由 final修饰的,因此无法定义子类。
假想定义一个整型数组列表。而尖括号中的类型参数不允许是基本类型,只能使用包装类来声明对象的数组列表。
比如:ArrayList list = new ArrayList<>( ) ;
当然,因为每个值都分别包装在对象中,ArrayList的效率远远低于int[ ]数组。
Java 5.0后支持自动装箱
list.add(3)将会自动转换为list.add(Interger.valueOf(3))
相反的,当将一个Interger对象赋给一个int值时,将会自动拆箱。
Int n = list.get( i );
将转换为
Int n = list.get( i ).intValue( );
甚至在算数表达式中也能够进行自动装箱和拆箱。
相关文章推荐
- Eclipse环境快速搭载
- 从头认识java-4.7 构造器初始化(2)
- Java:静态导入
- 从头认识java-4.7 构造器初始化(2)
- Java-Spring-WebService最基础的配置示例
- Java-Spring-WebService最基础的配置示例
- Java-Spring-WebService最基础的配置示例
- java内存分配和String类型的深度解析
- Java:集合for高级循环遍历
- spring MVC项目中,欢迎页首页根路径到底是怎么设置的
- Java:集合框架的工具类
- java代码安全性
- java序列化
- java 集合类说明及区别
- 优秀的编程风格(Java篇)——高薪必看
- Java学习日记-11 集合(1)
- 初识Java
- ReverseFile
- 从头认识java-4.7 构造器初始化(1)
- 从头认识java-4.7 构造器初始化(1)