基本数据类型、包装类、String 之间的相互转换
基本数据类型转换为包装类
int num1 = 10; Integer num = new Integer(num1); System.out.println(num.toString()); String s = "123"; Integer s1 = new Integer(s); System.out.println(s.toString());
包装类(Wrapper)转换为基本数据类型(Primitive)。
Integer in1 = new Integer(12); int i = in1.intValue();
自动装箱与自动拆箱。
自动装箱(其实就是多态)
int num1 = 10; Integer in1 = num1; boolean b1 = true; Boolean b2 = b1;
自动拆箱:
int num1 = 10;//基本数据类型 Integer in1 = num1;//自动装箱 int num2 = in1;//自动拆箱
基本数据类型,包装类转化成String 类型,使用String类的valueOf方法。
//基本数据类型、包装类---> String 类 int num1 = 10; //方式 一:连接运算 String str1 = num1 + ""; //方式二:调用String的valueOf方法 float f1 = 12.3f; String str2 = String.valueOf(f1); Double d1 = new Double(13.42); String str3 = String.valueOf(d1);
String 转化为基本数据类型,使用包装类的parseOf()方法
String str4 = "12.34";
Double d2 = Double.parseDouble(str4);
String str4 = "12.34"; double d2 = Double.parseDouble(str4);
Integer包装类内部定义了一个Integer cache的内部类,该类定义了一个保存了-128~127的数组,所以在程序中使用这个范围内的整数的时候,指向的其实是同一个数组。
自动拆箱,装箱的练习。

如何实现向下转型,需要注意什么问题,如何解决此问题。
Person p = New Man()
使用强转符()
Man m = (Man) p;
可能出现classCastException
强转前使用instanceOf进行判断
if(p instanceOf Man){
Man m = (Man) p;
}

浙公网安备 33010602011771号