包装类
Java为了能将基本数据类型作为对象来处理,为它们提供了相应的包装类
1、包装类和基本数据类型之间的转换
1. 装箱:将基本数据类型转化为包装类对象
//方式一:两种构造器
Integer in1 = new Integer(12);
Integer in2 = new Integer("123");
System.out.println(in1.getClass());//class java.lang.Integer
System.out.println(in1.TYPE);//int
System.out.println(in2.toString());//"123"
System.out.println(in2.toString().getClass());//class java.lang.String
// 方式二:调用 Integer valueOf(int)方法
Integer in5 = Integer.valueOf(89);
System.out.println(in5.getClass());//class java.lang.Integer
System.out.println(in5.TYPE);//int
2. 拆箱:将包装类对象转换为基本数据类型
//调用intValue():int
int i1 = in1.intValue();
3. 自动装箱和拆箱
自动将基本数据类型转换为包装器类型
自动将包装器类型转换为基本数据类型
//自动装箱:基本数据类型 --> 包装类对象
Integer in3 = 23;
int i2 = 12;
Integer in4 = i2;
//自动拆箱:包装类对象 --> 基本数据类型
int i3 = in3;
int i4 = in3 + 1;
4. 总结
4.1 基本数据类型 --> 包装类
-
两种构造器
-
调用 Integer valueOf(int)方法
-
自动装箱
4.2 包装类 --> 基本数据类型
-
拆箱:调用xxxValue()方法
-
自动拆箱
2、String与基本数据类型、包装类之间的转换
1. 基本数据类型、包装类转换为String
//方式一:+ 连接运算
int num1 = 10;
String str1 = num1 + "";
System.out.println(str1.getClass());
Integer in1 = num1;
String str2 = in1 + "";
System.out.println(str2.getClass());
//方式二:调用String的 String valueOf()
String str3 = String.valueOf(num1);
System.out.println(str3.getClass());
Double d1 = 123.233;
String str4 = String.valueOf(d1);
System.out.println(str4.getClass());
2. String转换为基本数据类型、包装类
//调用包装类的parseXxx(String):返回的是基本数据类型
String str1 = "123";
Integer num1 = Integer.parseInt(str1);
int num2 = Integer.parseInt(str1);
System.out.println(num1 == num2);//true, 自动拆箱
String str2 = "truE";
boolean b1 = Boolean.parseBoolean(str2);
System.out.println(b1);//true
String str3 = "true2";
boolean b2 = Boolean.parseBoolean(str3);
System.out.println(b2);//false
3、常用方法
/*
* 1. toString():String
* 2. toString(int):String
* 3. parseInt(str):int
*/
Integer num1 = 12;
String str1 = num1.toString();
System.out.println(str1.getClass());
String str2 = Integer.toString(22);
System.out.println(str2.getClass());
Integer num3 = Integer.parseInt("123");
System.out.println(num3);