image.png
image.png
image.png
package com.atguigu.java4;
import org.junit.Test;
/
包装类的使用:
1.java提供了8种基本数据类型对应的包装类,使得基本数据类型的变量具有类的特征

2.掌握的:基本数据类型、包装类、String三者之间的相互转换

*/
public class WeapperTest {// 包装类的单元测试

  1. // 基本数据类型 --->包装类:调用包装类的构造器<br /> @Test<br /> public void test1() {<br /> int num1 = 10;<br /> Integer in1 = new Integer(num1);<br /> System.out.println(in1.toString());<br /> Integer in2 = new Integer("123");<br /> System.out.println(in2.toString());<br /> // 报异常<br /> // Integer in3 = new Integer("123abc");<br /> // System.out.println(in3.toString());<br /> Float f1 = new Float(12.3);<br /> Float f2 = new Float(12.3f);<br /> Float f3 = new Float("12.3");<br /> System.out.println(f1.toString());<br /> System.out.println(f2.toString());<br /> System.out.println(f3.toString());<br /> Boolean b1 = new Boolean(true);<br /> Boolean b2 = new Boolean("true");<br /> Boolean b3 = new Boolean("true123");// false<br /> System.out.println(b1);<br /> System.out.println(b2);<br /> System.out.println(b3);<br /> }


// 包装类 —-> 基本数据类型:调用包装类的XXXValue()
@Test
public void test2() {
Integer in1 = new Integer(12);
int i1 = in1.intValue();// 包装类in1转换为基本数据类型i1
System.out.println(i1 + 1);
Float f1 = new Float(12.3);
float f2 = f1.floatValue();
System.out.println(f2 + 1);
}


/
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);
int num3 = in1;// 自动拆箱
}

  1. public void method(Object obj) {<br /> System.out.println(obj);<br /> }
  2. // 基本数据类型、包装类--->String类型:调用String重载的valueOf(Xxx xxx)<br /> @Test<br /> public void test4() {<br /> int num1 = 10;<br /> // 方式1:连接运算的方式<br /> String str1 = num1 + "";<br /> // 方式2:调用String的valueOf(Xxx xxx)<br /> float f1 = 12.3f;<br /> String str2 = String.valueOf(f1);// 输出"12.3"<br /> System.out.println(str2);<br /> Double d1 = new Double(12.4);<br /> String str3 = String.valueOf(d1);<br /> System.out.println(str3);// "12.4"<br /> }
  3. // String类型--->基本数据类型、包装类:调用包装类的parseXxx()<br /> @Test<br /> public void test5() {<br /> String str1 = "123";<br /> <br /> //错误情况<br /> // int num1 = (int)str1;<br /> // Integer in1 = (Integer)str1;<br /> //可能会报NumberFormatException

int num2 = Integer.parseInt(str1);
System.out.println(num2);
String str2 = “true”;
boolean b1 = Boolean.parseBoolean(str2);
System.out.println(b1);
}
}

总结:
1.自动装箱、自动拆箱
2.valueOf() 方法
3.parseXxx() 方法

简易版:
基本数据类型<——>包装类: JDK5.0 新特性:自动装箱 与 自动拆箱
基本数据类型、包装类<——>String:调用String重载的valueOf(Xxxx xxx)
String——>基本数据类型、包装类:调用包装类的parseXxx(String s)
注意:转换时,可能会报NumberFormatException