我们都知道,java是一个面向对象的语言,但是其中我们经常用到的8大基本类型:
byte,short,int,long,double,float,char,boolean 却不是面向对象的
但是在我们实际使用过程中,我们确实需要用到将基本类型转化成对象的操作,比如泛型,集合的操作中。
对于以上8大基本类型我们提供了对应的8大包装类:
Byte,Short, Integer, Long, Double, Float, Character, Boolean
那么我们就得知:
包装类:将基本数据类型封装成一个类,这个类中有对应的一个基本类型
(此包位于 java.lang)
类的继承关系
以Integer为例:
Integer的使用:
int i = 10;
Integer j = Integer.valueOf(i);
Integer k = new Integer(i);
int a = j.intValue();
//Integer和int的互相转换(装箱(boxing)和拆箱(unboxing))
当然,为了简化使用也可以直接赋值打成转换:
int i = 10;
Integer j = i;
int k = j;
//自动装箱(autoboxing)和自动拆箱(autounboxing)
注意:自动装箱和自动拆箱是工作在编译期间的一种机制
Integer中的基本类型是不可变的,并且Integer并没有类似于set(type value)类似的方法(不可变)
因此,虽然Integer是引用数据类型但是并无法实现我们初期学习方法所练习的swap()方法:
ps:初步学习了包装类(为了进一步的学习),以后会更深入的学习