包装类的使用
① java提供了8种基本数据类型对应的包装类,使基本数据类型的变量具有类的特征。
② 掌握:基本数据类型、包装类、String三者之间的相互转换。
基本数据类型转换包装类
//基本数据类型--->包装类:调用包装类的构造器
@Test
public void test1() {
int nu1 = 10;
// System.out.println(num1.toString());
Integer int1 = new Integer(nu1);
System.out.println(int1.toString());
Integer in2 = new Integer("123");
System.out.println(in2.toString());
// 报异常
// Integer in3 = new Integer("123abc");
// System.out.println(in3.toString());
Float f1 = new Float(12.3f);
Float f2 = new Float("12.5");
System.out.println(f1.toString());
System.out.println(f2.toString());
Boolean b1 = new Boolean(true);
System.out.println(b1.toString());
Boolean b2 = new Boolean("TrUe");
System.out.println(b2.toString());
Boolean b3 = new Boolean("true123");
System.out.println(b3.toString()); //false
Order order = new Order();
System.out.println(order.isMale);//flase
System.out.println(order.isFemale);//null
}
class Order {
boolean isMale;
Boolean isFemale;
}
包装类转换基本数据类型
//包装类--->基本数据类型:调用包装类的xxxValue()
@Test
public void test2() {
Integer in1 = new Integer(12);
int i1 = in1.intValue();
System.out.println(i1 + 1);//13
Float f1 = new Float(12.3f);
float f = f1.floatValue();
System.out.println(f + 1);//13.3
}
自动装箱与自动拆箱(JDK 5.0新特性)
@Test
public void test3() {
int num1 = 10;
//基本数据类型--->包装类
method(num1);
//自动装箱:基本数据类型--->包装类
int num2 = 10;
Integer in1 = num2;//自动装箱
boolean b1 = true;
Boolean b2 = b1;//自动装箱
//自动拆箱:包装类--->基本数据类型
System.out.println(in1.toString());
int num3 = in1;//自动拆箱
}
public void method(Object obj) {
System.out.println(obj);
}
基本数据类型转换String类型
//基本数据类型--->String类型:调用String重载的ValueOf(Xxx xxx)
@Test
public void test4() {
int num1 = 10;
//方式一:链接运算
String str1 = num1 + "";
//方式二:调用String重载的ValueOf(Xxx xxx)
float f1 = 12.3f;
String str2 = String.valueOf(f1);
System.out.println(str2);//"12.3"
Double d1 = new Double(12.4);
String str3 = String.valueOf(d1);
System.out.println(str3);//"12.4"
}
String类型转换基本数据类型、包装类
//String类型--->基本数据类型、包装类:调用包装类的parseXxx()
@Test
public void test5() {
String str1 = "123";
int i1 = Integer.parseInt(str1);
System.out.println(i1);
String str2 = "true";
boolean b1 = Boolean.parseBoolean(str2);
System.out.println(b1);
}