- 针对八种基本数据类型定义相应的引用类型—包装类
- 有了类的特点,就可以调用类中的方法,Java才是真正的面向对象
基本数据类型—>包装类
int numb1 = 10;
Integer in1 = new Integer(numb1);//包装
System.out.println(in1.toString());
Integer in2 = new Integer("123");
System.out.println(in2.toString());
// Integer in3 = new Integer("123abd");
// System.out.println(in3.toString());
Float f1 = new Float(12.3f);
Float f2 = new Float("12.3");
System.out.println(f1);
System.err.println(f2);
Boolean b1 = new Boolean(true);
Boolean b2 = new Boolean("true");
Boolean b3 = new Boolean("true123");
System.out.println(b3);
Order order = new Order();
System.out.println(order.isMale);//false,基本数据类型
System.out.println(order.isFemale);//null,封装成类
class Order{
boolean isMale;
Boolean isFemale;
}
包装类—>基本数据类型:调用xxxValue()
Integer in1 = new Integer(12);//包装成类
int i1 = in1.intValue();//拆包
System.out.println( i1 + 12);
JDK5.0新特性:自动装箱与自动拆箱
public void test() {
int num1 = 10;
//基本数据类型 -->包装类的对象
method(num1);
//自动装箱
int num2 = 10;
Integer in1 = num2;//自动装箱,省略new步骤
System.out.println(in1.toString());
//自动拆箱:包装类 -->基本数据类型
int num3 = in1;//自动拆箱
}
public void method(Object obj) {
System.out.println(obj);
}
基本数据类型、包装类 —>String类型:调用String重载的valueOf()
int num1 = 10;
//方式1:连接运算
String str1 = num1 + "";
//方式2:调用String的valueOf(xxx)
float f1 = 12.3f;
String str2 = String.valueOf(f1);//"12.3"
Double d1 = new Double(12.4);
String str3 = String.valueOf(d1);
System.out.println(str2);
System.out.println(str3);
Strin类型 —>基本数据类型、包装类:调用包装类的parseXxx()
String str1 = "123";
int num2 = Integer.parseInt(str1);
System.out.println(num2 + 1);
String str2 = "true";
String str3 = "true1";
boolean b1 = Boolean.parseBoolean(str2);
boolean b2 = Boolean.parseBoolean(str3);
System.out.println(b1);//true
System.out.println(b2);//false