Java包装类学习笔记(1)

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( );
甚至在算数表达式中也能够进行自动装箱和拆箱。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章