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;//包装类
}

 

posted @ 2021-03-23 20:56  懒惰的咸鱼  阅读(60)  评论(0)    收藏  举报