人之所以痛苦,那是因为你在成长。--------magic_guo
基本数据类型、包装类与String之间的相互转换:
因为在一些方法中只接收类对象,此时就显得三者之间的相互转换变得尤为重要:
代码:
public class WrapperTest {
public static void main(String[] args) {
// 基本数据类型转换成包装类:调用对应包装类的构造器
int num = 10;
Integer in1 = new Integer(num);
System.out.println(in1.toString());
Integer in2 = new Integer("123");
System.out.println(in2.toString());
// 包装类转换成基本数据类型:调用包装类的xxxValue()方法
Float f1 = new Float(12.3);
System.out.println(f1.toString());
float f11 = f1.floatValue();
System.out.println(f11 + 1);
// 新特性:自动装箱与自动拆箱
// 在JDK5.0之后,加的新特性:便于基本数据类型与对应包装类的转换
int num1 = 10;
Integer in3 = num1; // 自动装箱:可以直接将基本数据类型num1赋值给包装类对象in3
int num2 = in3; // 自动拆箱:也可以直接将包装类对象in3直接赋值给基本数据类型num2
// 基本数据类型、包装类 转换成 String:使用String重载的valueOf()方法
// 方式一:连接运算:
int num3 = 10;
String s1 = num3 + "";
// 方式二:使用valueOf方法:
String s2 = String.valueOf(s1);
System.out.println(s2); // "10"
Double d1 = new Double(12.3);
String s3 = String.valueOf(d1);
System.out.println(s3); // "12.3"
// String类型转换成包装类、基本数据类型:使用包装类的parseXxx(String s)方法:
String s4 = "123";
// String s4 = "123a"; // 报错
int num4 = Integer.parseInt(s4);
System.out.println(num4);
String s5 = "true";
String s5_1 = "true1";
boolean b1 = Boolean.parseBoolean(s5);
System.out.println(b1);
boolean b2 = Boolean.parseBoolean(s5_1);
System.out.println(b2); // false
}
}
结果:
10
123
12.3
13.3
10
12.3
123
true
false
不到之处,请批评指正,谢谢。