Java基本数据类型、包装类与String类之间的转换

时间:2022-06-15 17:53:27

Java基本数据类型、包装类与String类之间的转换


Java基本数据类型、包装类与String类之间的转换

一、基本数据类型与包装类之间的转换:


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);
    }
}