包装类(封装类)

1、包装类的理解:

① Java提供了8种基本数据类型对应的包装类(封装类),使得基本数据类型的变量具有类的特征,有了类的特点,就可以调用类中的方法。

② 需要掌握的:基本数据类型、包装类、String类三者之间的相互转换。

2、包装类有:

byte → Byte

short → Short

int → Integer

long → Long

float → Float

double → Double

boolean → Boolean

char → Character

注:所有包装类的父类都是 Number

3、基本数据类型与包装类之间的转换:

① 基本数据类型转换成对应的包装类 :调用包装类的构造器。

例如:

int num = 10;

Integer i1 = new Integer(num);

System.out.println(i1.toString());

Integer i2 = new Integer("123");

System.out.println(i2.toString());

② 包装类转换成对应的基本数据类型 :调用包装类的xxxValue()。(“xxx”是指对应的基本数据类型名称)

例如:

Integer in = new Integer(12);

int i = in.intValue();

System.out.println(i);

4、自动装箱和自动拆箱(JDK 5.0 新特性):

① 自动装箱:基本数据类型转换成对应的包装类。

例如:

int num1 = 12;

Integer in = num;  //自动装箱

② 自动拆箱:包装类转换成对应的基本数据类型。

例如:

int num2 = in;  //自动拆箱 (in 是上个例子中的变量)

5、基本数据类型(或对应的包装类)与String类之间的相互转换:

① 基本数据类型(包装类)转换成String类:调用String类重载的valueOf()方法。

例如:

float f1 = 12.3f;

String str = String.valueOf(f1); //转换过程

② String类转换成基本数据类型(包装类):调用包装类的parseXxx()方法。(“xxx”是指对应的基本数据类型名称)

例如:

String str = "123";

int num = Integer.parseInt(str); //转换过程,可能会报:NumberFormatException异常

注:Integer内部定义了IntegerCache结构,IntegerCache中定义了Integer[],保存了从-128 ~ 127范围的整数。如果使用自动装箱的方式,给Integer赋值的范围在-128 ~ 127范围内时,可以直接使用数组中的元素,不用再去new了。主要目的:提高效率。

posted @ 2022-06-22 19:34  萧若風  阅读(50)  评论(0编辑  收藏  举报