包装类意指 封装着数据及方法的类,例如 String 就是一种包装类。这种类它可以封装着各种方法。与普通的 int double float 等基本数据类型是不同的。当然,除了 String,也有常见的 Double、Float、Integer、Short等常见的包装类。

包装类与基本数据类型不同在于,包装类既提供数据又提供方法引用。而基本数据类型提供的只是数据。

下面这里是一个包装类 和 基本类型实例

Double d1;
d1 = 100.16;
d1.intValue();

double d2;
d2 = 100.16;

可以看到包装类既可以有方法,也可以有数据。而基本数据类型只能有数据。
其中包装类 Double 的 intValue() 方法作用是返回一个 int 值。如果试着打印这个方法会发现他返回了 int 数据。

Double d1;
d1 = 100.16;
System.out.println("d1 = " + d1.intValue());

double d2;
d2 = 100.16;
System.out.println("d2 = " + d2);

运行结果:

d1 = 100
d2 = 100.16

对于其他的 包装类,也是同样如此。
需要注意:d1.intValue()只是返回int值,并不会影响它的原值。

拆箱与装箱

所谓的装箱就是 包装类将数据装进类里,而拆箱则是 从类中获得数据。
拆箱与装箱过程是编译器自动帮我们完成的。也可以由我们手动完成。

实例:

//相当于 Double s = Double.valueOf(100.16);
Double s = 100.16;
Integer i = 1;
i = i + 2;

//相当于
//Integer i = 1;
// i = i.intValue() + 2; 
文章目录