包装类
要使用只针对对象设计的API或新特性(例如泛型)时,需要包装类将基本数据类型转换为对象来使用这些API,换言之,为了使得基本数据类型的变量具备引用数据类型变量的相关特征(比如:封装性、继承性、多态性),Java给各个基本数据类型的变量都提供了对应的包装类
java中的包装类:
Java针对八种基本数据类型定义了相应的引用类型:包装类(封装类)。有了类的特点,就可以调用类中的方法,Java才是真正的面向对象

包装类和基本数据类型的转换
包装类-->基本数据类型
- 使用包装类的构造器:
int a = 2;
Integer in = new Integer(a);
- 使用包装类的
valueOf()方法(建议)
Integer in2 = Integer.valueOf(a);
基本数据类型-->包装类
- 调用包装类的
xxxValue()方法即可
int in3 = in2.intValue();
JDK5.0有新特性:自动装箱、自动拆箱(语法糖)
int a = 2;
Integer in = a;
Integer in2 = a + 1;
a = in2;
String与基本数据类型、包装类的转换

由于自动装箱自动拆箱机制,下面对基本数据类型和包装类不做区分
String-->基本数据类型、包装类
- 调用String的重载的静态方法
valueOf()
int a = 2;
Integer in = a;
String str1 = String.valueOf(in);
String str2 = in + "";
String str3 = "" + in;
基本数据类型、包装类-->String
- 调用包装类的静态方法
String str1 = "true";
boolean b1 = Boolean.parseBoolean(str1);
若原字符串不符合数据类型的格式会报错