包装类

mac2024-01-23  34

我们都知道,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:初步学习了包装类(为了进一步的学习),以后会更深入的学习

最新回复(0)