概念:基本数据类型所对应的引用数据类型
Object可统一所有数据,包装类的默认值是null
包装类中实际上就是持有了一个基本类型的属性,作为数据的存储空间(Byte中有一个byte属性),还提供了常用的转型方法,以及常量,
既可以存储值,又具备了一系列的转型方法和常用常量,比直接使用基本类型的功能更强大
类型转换与装箱、拆箱
8种包装类提供不同类型间的转换方式
Number父类中提供的6个共性方法:
byte b1 = b.byteValue();
short s1 = 对象名.shortValue();
int i1 = 对象名.intValue();
l1 = 对象名.longValue();
double d1 = 对象名.doubleValue
float f1 = 对象名.floatValue;
parseXXX()静态方法(将字符串转化成基本数据类型):
- byte b1 = Byte.parseByte("123");
- byte b2 = new Byte("123").byteValue(); 先通过构造方法将字符串转化为对象,然后通过byteValue转化为基本数据类型
valueOf()静态方法(将字符串转化为包装类):
Byte b3 = Byte.valueOf((byte)123);整数默认为int 所以要强转为byte
Byte b4 = new Byte("123");通过构造方法在创建对象时转化为Byte类型
注意:需保证类型兼容,否则抛出NumberFormatException异常
JDK5.0之后,自动装箱、拆箱。基本数据类型和包装类自动转换
整数缓存区:
java预先创建了256个常用的整数包装类型对象(-128-127)赋值在此范围内的都会指向同一个地址
Short s=new Short("129");
byte a=s.byteValue();
System.out.println(a); 结果为-127(因为byte的范围为-128到127所以就变成了-128+1)
在实际应用对象中,对以创建的对象进行复用