一、基本数据类型与包装类之间的转换:
import org.junit.Test; public class MainTest { /** * 基本数据类型与包装类之间的转换 */ @Test public void test() { /** * 基本数据类型 -----> 包装类 */ int i = 12; System.out.println(i); Integer integer0 = new Integer(i); System.out.println(integer0.toString()); /** * java.lang.NumberFormatException */ /*Integer integer1 = new Integer("12abc"); System.out.println(integer1);*/ Float f = new Float("12.0F"); System.out.println(f); /** * 对于Boolean来说,当形参是"true"时,返回"true",除此之外,返回"false" */ Boolean b0 = new Boolean("true"); System.out.println(b0);//true b0 = new Boolean("abv"); System.out.println(b0);//false /** * Boolean为引用类型,默认初始化为null */ Order o = new Order(); System.out.println(o.b);//null /** * 包装类 -----> 基本数据类型 * * 调用包装类Xxx的xxxValue()方法 */ int i2 = integer0.intValue(); System.out.println(i2); float f2 = f.floatValue(); System.out.println(f2); boolean b2 = b0.booleanValue(); System.out.println(b2); /** * JDK5.0以后新特性:自动装箱和自动拆箱 */ int ii = 199; /** * 自动装箱 */ Integer i3 = ii; Integer i4 = 200; Boolean b3 = false; /** * 自动拆箱 */ int i5 = i3; boolean b4 = b3; } } class Order { Boolean b; }
二、基本数据类型、包装类与String类之间的转换:
import org.junit.Test; public class MainTest { /** * 基本数据类型、包装类与String类之间的转换 */ @Test public void test() { /** * 基本数据类型、包装类 -----> String类:调用String类的静态的重载的valueOf(Xxx x)方法 */ /** * 由于自动装箱,在需要Integer对象类型的参数时,填入int类型的参数会自动装箱为Integer类型; * 由于自动拆箱,在需要int类型的参数时,填入Integer对象的参数会自动拆箱为int类型。 */ int i1 = 1000; Integer integer1 = 888; //方法一: String str1 = i1 + ""; String str11 = integer1 + ""; System.out.println(str1+"\t"+str11); //方法二: String str2 = String.valueOf(i1); String str22 = String.valueOf(integer1); System.out.println(str2+"\t"+str22); String str3 = String.valueOf(true); System.out.println(str3); /** * String类 -----> 基本数据类型、包装类:调用包装类的parseXxx(String str)方法 */ int i2 = Integer.parseInt(str1); System.out.println(i2); boolean b1 = Boolean.parseBoolean(str3); System.out.println(b1); } }