java定义了8个包装类,目的是为了解决基本类型不能直接参与面向对象开发的问题,使得基本类型可以通过包装类的实例以对象的方式存在 包括:Integer、Character、Byte、Short、Long、Float、Double、Boolean。Character和Boolean是直接继承自Object的,而其余6个包装类都继承自java.lang.Number JDK1.5推出了一个新的特性:自动拆装箱,该特性是编译器认可的,当编译器编译时若发现有基本类型与包装类型相互赋值时,将会自动补充代码来完成他们的转换工作,这个过程称为自动拆装箱.
Integer i1 = 10; //会被编译为: Integer i1 = Integer.valueOf(10);
//触发了自动拆箱特性
int ii = i1; //会被编译为: int ii = i1.intValue();
//演示包装类的实际操作:
//1)可以通过包装类来得到基本类型的取值范围:
int max = Integer.MAX_VALUE; //获取int的最大值
int min = Integer.MIN_VALUE; //获取int的最小值
System.out.println("int的最大值为:"+max);
System.out.println("int的最小值为:"+min);
long lMax = Long.MAX_VALUE; //获取long的最大值
long lMin = Long.MIN_VALUE; //获取long的最小值
System.out.println("long的最大值为:"+lMax);
System.out.println("long的最小值为:"+lMin);
//2)包装类可以将字符串转换为对应的基本类型
// 前提是该字符串正确表达了基本类型的值
// 若不能正确表达,则发生NumberFormatException数字转换异常
String str = "123";
int num = Integer.parseInt(str); //将字符串str转换为int类型
System.out.println(num); //123
str = "123.456";
double dou = Double.parseDouble(str); //将字符串str转换为double类型
System.out.println(dou)