包装类
- 基本数据类型所对应的的引用数据类型
- Object可统一所有数据,包装类的默认值是null
包装类对应
基本数据类型 | 包装类型 |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
boolean | Boolean |
char | Character |
类型转换与装箱,拆箱
- 8种包装类提供不同类型间的转换方式
- Number父类中提供的6个共性方法
- parseXXX()静态方法
- valueOf静态方法
package baoz;
public class TestBao2 {
public static void main(String[] args) {
//Byte Short Interger Long Float Double 都具有将自身类型的对象,转换成其他6种基本类型的方法
Short s = new Short("10");
byte v1 = s.byteValue();
short v2 = s.shortValue();
int v3 = s.intValue();
long v4 = s.longValue();
float v5 = s.floatValue();
double v6 = s.doubleValue();
System.out.println(v1);
System.out.println(v2);
System.out.println(v3);
System.out.println(v4);
System.out.println(v5);
System.out.println(v6);
}
}
-
注意:需保证类型兼容,否则抛出NumberFormatException异常
-
JDK 5.0之后,自动装箱,拆箱。基本数据类型和包装类自动转换
整数缓冲区
-
Java预先创建了256个常用的整数包装类型对象
-
在实际应用当中,对已创建的对象进行复用
package objects;
public class TestAutoEncap {
public static void main(String[] args) {
//语法糖(Java语法规范)
Byte b = 10;//自动装箱,调用valueOf(byte b)
byte b1 = b;//自动拆箱,调用byteValue(); shortValue() intValue() booleanValue()
Short s1 = 100;//从长度为256的数组(取值范围为-128到127)中,取出预先创建好的一个对象(此对象代表整数100)如0x1111
Short s2 = 100;//同样取出0x1111
Short s3 = 200;//由于超出数组取值范围,创建一个新对象0x1234
Short s4 = 200;//由于超出数组取值范围,创建一个新对象0x6789
System.out.println(s1 == s2);//true
System.out.println(s3 == s4);//false
}
}