Java之包装类的使用
包装类(封装类)-----针对八种基本数据类型定义相对应的引用类型
有了类的特点,就可以调用类中的方法
基本数据类型:byte、 short 、int 、 long、 float、 double、 boolean、char
包 装 类:Byte、Short、Integer、Long、Float、Double、Boolean、Characher
其中Byte、Short、Integer、Long、Float、Double这些类的父类都是:Number
/** * 基本数据类型、包装类、String三者之间的相互转换 */ import org.junit.Test; public class WrapperTest { //String类型-------->基本数据类型、包装类,调用包装类的parseXxx(String s) @Test public void test5(){ String str1 = "123"; int num2 = Integer.parseInt(str1); //String类型转换为int类型 System.out.println(num2+1); String str2 = "true"; boolean b1 = Boolean.parseBoolean(str2);//String类型转换为boolean类型 System.out.println(b1); } //基本数据类型,包装类----------》String类型,调用String重载的valueOf(Xxx xxx) @Test public void test4(){ int num1 = 10; //方式一,在基本数据类型的前后连接一个字符串,就可以转换为string String string = num1 +""; //方式二:调用String的valueOf(Xxx xxx) float f1= 12.3f; String str2 = String.valueOf(f1); //"12.3" Double d1 = new Double(12.4); String str3 =String.valueOf(d1);//包装类对象同样适用 System.out.println(str2+"\t\t"+str3); } //JDK 5.0新特性,自动装箱与自动拆箱 @Test public void test3(){ //自动装箱。基本数据类型--------》包装类 int num2 = 10; Integer integer = num2;//自动装箱:直接将基本数据类型变量赋给对应的包装类对象 boolean b1 =true; Boolean b2 = b1;//自动装箱, //自动拆箱,包装类--------》基本数据类型 int num3 = integer;//自动拆箱:直接将包装类对象,赋给int类型变量 } //因为包装类是一个对象,无法做加减乘除运算,必须转换为基本数据类型 //包装类------》基本数据类型,调用包装类的xxxValue(),如intValue() @Test public void test2(){ Integer integer =new Integer(12); int i1 = integer.intValue(); System.out.println(i1+3); } //在实际工作中,有些形参是“类”类型的,所以必须将基本数据类型转换为包装类,才能使用 //基本数据类型------》包装类,如何转换?调用包装类的构造器 @Test public void test1(){ int num1 = 10; Integer in1 = new Integer(num1); System.out.println(in1.toString()); //将string类型的-------->为int类型,注意string里面的“ ”里面是纯数字 Integer in2 = new Integer("123"); System.out.println(in2.toString()); //将string类型的-------->为float类型 Float f1 = new Float(12.3f); Float f2 = new Float("12.3"); System.out.println(f1); System.out.println(f2); //将string类型的-------->为boolean类型 Boolean b1 = new Boolean("true"); Boolean b2 = new Boolean("TrUe");//调用Boolean包装类忽略大小写,返回true System.out.println(b1); System.out.println(b2); //特别的 Order order =new Order(); System.out.println(order.isMale); //调用基本数据类型是默认值false System.out.println(order.isFemale); //调用Boolean包装类时,是null } } class Order{ boolean isMale; Boolean isFemale;//包装类 }

浙公网安备 33010602011771号