基本类型包装器类

来源:互联网 发布:机械三维设计软件排名 编辑:程序博客网 时间:2024/05/16 13:39

基本类型包装器类介绍

public class WrapperDemo {    public static void main(String[] args) {        /*         * 场景:通过文本框获取用户输入的数字数据,可是得到的都是字符串。         * 如果想要对字符串中的数字进行运算,必须要将字符串转成数字         * Java中提供了相应的解决对象。         * 基本数据类型对象包装类:Java将基本类型值封装成了对象。         * 封装成对象有什么好处?因为可以提供更多的操作基本数值的功能。         * byte     Byte         * short    Short         * int      Integer         * long     Long         * float    Float         * double   Double         * char     Character         * boolean  Boolean         */        //以Integer为例        /*         * 基本数据类型对象包装类特点:         * 1,用于在基本数据和字符串之间进行转换。         * static int parseInt(String s)          *///      System.out.println(Integer.MAX_VALUE);//      System.out.println(Integer.MIN_VALUE);//      System.out.println(Integer.toBinaryString(-1));//将十进制转换成二进制//      System.out.println(Integer.toHexString(20));//将十进制转换程十六进制//      System.out.println(Integer.toOctalString(20));//将十进制转换成八进制        //1,字符串转成基本数值。基本数据(字符串);演示 Integer int(String);        System.out.println(Integer.parseInt("123")+2);              System.out.println(Integer.parseInt("110",2));//将其他进制转成十进制        //2,基本数值转换成字符串          //static String toString(int i)     static String valueOf(int i)            System.out.println(34+5);         //3,基本数值转换成包装器类型         Integer i = new Integer(4);         Integer ii= new Integer("4");         Integer iii= Integer.valueOf(4);         //4,包装器类型转换成基本数值         int num=i.intValue();    }}

自动装箱功能介绍

public class WrapperDmeo2 {    public static void main(String[] args) {//      int i = 4;//      Integer i= new Integer(4);//      JDK1.5以后有了一个包装器的新类型。目的简化书写,自定装箱。        Integer i =4;//自动装箱。Integer i= Integer.Valueof(4);        i =i+5;//原理:等号右边,将i对象转成基本数值 i.intValue()+5;        //然后自动拆箱,加法运算后,再次装箱,i=Integer.valueOf(i.intValue()+5);        Integer a = new Integer(3);        Integer b = new Integer(3);        System.out.println(a==b);//false        System.out.println(a.equals(b));//true        System.out.println("-------------------");        Integer x=128;        Integer y=128;        /*在JDK1.5自动装箱时,如果数值在byte范围之内,         *不会新创建对象空间,而是使用原来已有的空间。*/        System.out.println(x==y);        System.out.println(x.equals(y));    }}

实例练习

public class WrapperTest {    private static final String SPASE = " ";    public static void main(String[] args) {        /*         * 练习:         * "23 9 -4 18 100 7"         * 要求对这串数字按照从小到大排序,生成一个数值有序的字符串。         * 思路:         * 1,将字符串中的数字取出存放到整型数组中         * 2,排序完的数组转换成字符串输出         */        String numsString="23 9 -4 18 100 7";        numsString=sortNumberString(numsString);        System.out.println("num="+numsString);    }    public static String sortNumberString(String numsString) {        // 1,用到split方法分割字符串        String[] strs =numsString.split(SPASE);        // 2,将字符串数组转成int数组。        int[] nums =parseIntArray(strs);        // 3,对数组排序        Arrays.sort(nums);        // 4,将数组转成字符串        return toString(nums);    }    private static String toString(int[] nums) {        StringBuilder sb =  new StringBuilder();        for (int i = 0; i < nums.length; i++) {            if(i!=nums.length-1){                sb.append(nums[i]+" ");            }else{                sb.append(nums[i]);            }        }        return sb.toString();    }//  将字符串数组转换成整型数组    private static int[] parseIntArray(String[] strs) {        //1,定义一个int数组        int[] arr =new int[strs.length];        //2,遍历字符串数组,把元素转到int存储到arr中。        for (int i = 0; i < strs.length; i++) {            arr[i] = Integer.parseInt((strs[i]));        }        return arr;    }}