包装类:
虽然java是面向对象编程语言,但其中的八个基本数据类型并不支持面向对象编程,基本数据类型不具备“对象”的特性---不携带属性、没有方法可调用,为了解决问题,java为每种基本数据类型分别设计了对应的类,称为包装类(Wrapper Classes)。
基本数据类型 | 对应的包装类 |
int | Integer |
short | Short |
long | Long |
byte | Byte |
double | Double |
float | Float |
char | Character |
boolean | Boolean |
每个包装类的对象可以封装一个相应的基本数据类型的数据。并提供了一些有用的方法,包装类对象一经创建,其内容不可改变。
装箱和拆箱:
装箱:由基本数据向对应的包装类转换,如:把int包装成Integer;
拆箱:包装类向对应的基本类型转换,如:把Integer类的对象重新简化为int
//自动装箱(autobox) 自动拆箱(autounbox)只发生在编译期间的魔法
int m=10;
Integer obj=new Integer(m); //手动装箱
int n=obj.intValue(); //手动拆箱
Integer obj=m; //自动装箱
int n=obj; //自动拆箱
List<List<Integer>> list;
说明:list是一种引用,List类型的接口引用*(java语法)
list逻辑上是一种线性表,线性表的元素类型是List<Integer>
(java语法)List类型的接口引用,元素类型是Integer类类型的引用
Integer是int的包装类
注:(部分参考数籍《java程序设计与实例》)