常用对象API_基本数据类型对象包装类

概念

为了方便操作基本数据类型,将其封装成了对象,在对象中定义了属性和行为丰富了该对数据的操作,用于描述该对象的类就称为基本数据类型包装类。

byte     Byte
short    Short
int      Integer
long     Long
float    Float
double   Double
char     Character
Boolean  Boolean

该包装对象主要用于基本类型和字符串之间的转换。

基本类型-->字符串

    1.基本类型数值+""

    2.用String类中的静态方法valueOf(基本类型数值)

    3.用Integer的静态方法valueOf(基本类型数值);

字符串-->基本类型

    1.使用包装类中的静态方法 xxx parseXxx("xxx类型的字符串")。例如int parseInt("intstring"); long paseLong("longstring");只有Character没有parse方法。

    2.如果字符串被Interger进行对象的封装,可使用另一个非静态的方法,intValue();将一个Integer对象转成基本数据类型值。

        System.out.println(Integer.parseInt("123"));
        Integer i=new Integer("123");
        System.out.println(i.intValue());

进制转换

十进制->其他进制

        toBinaryString

        toOctalString

        toHexString

        System.out.println(Integer.toBinaryString(60));
        System.out.println(Integer.toOctalString(60));
        System.out.println(Integer.toHexString(60));
        //第二个参数表示x进制
        System.out.println(Integer.toString(60,6));

其他进制->十进制

        parseInt("string",radix)

        System.out.println(Integer.parseInt("110",10));

JDK1.5自动装箱

        int num=4;
        Integer i=4;//i=new Integer(4);自动装箱,简化书写
        i=i+6;//i=new Integer(i.intValue()+6);//i.intValue()自动拆箱

jdk1.5以后,自动装箱,如果装箱的是一个字节,那么该数据会被共享不会重新开辟空间。

        Integer a=new Integer(127);
        Integer b=new Integer(127);
        System.out.println(a==b);
        System.out.println(a.equals(b));
        Integer x=127;
        Integer y=127;
        System.out.println(x==y);
        System.out.println(x.equals(y));
结果:
false
true
true
true

当Integer一个数值变成128时

        Integer a=new Integer(127);
        Integer b=new Integer(127);
        System.out.println(a==b);
        System.out.println(a.equals(b));
        Integer x=128;
        Integer y=128;
        System.out.println(x==y);
        System.out.println(x.equals(y));
结果:
false
true
false
true

对一个字符串中的数值进行从小到大排序

"30 46 8 -6 55 40 17"

思路:

1.获取这个字符串中的需要排序的数值,因为字符串中空格对数值分隔,所以可以用字符串对象的切割方法将大串变成多个小串

2.字符串变成小字符串后,字符串->基本类型变成int类型数值,可以使用包装类。

package com.monfolld;

import java.util.Arrays;

public class WrapperTest {
    public static void main(String[] args){
        String numStr="30 46 8 -6 55 40 17";
        System.out.println(numStr);
        numStr=sortStringNumber(numStr);
        System.out.println(numStr);
    }
    public static String sortStringNumber(String numStr){
        //将字符串变成字符串数组
        String[] str_arr=stringToArry(numStr);
        //将字符串数组变成int数组
        int[] num_arr=toIntArray(str_arr);
        //对int数组排序
        mySortArray(num_arr);
        //将排序后的int数组变成字符串
        String temp=arrayToString(num_arr);
        return temp;
    }
    public static String[] stringToArry(String numStr){
        String[] str_arr=numStr.split(" ");
        return str_arr;
    }
    public static int[] toIntArray(String[] str_arr){
        int[] arr=new int[str_arr.length];
        for (int i=0;i<arr.length;i++){
            arr[i]=Integer.parseInt(str_arr[i]);
        }
        return arr;
    }
    public static void mySortArray(int[] num_arr){
        Arrays.sort(num_arr);
    }
    public static String arrayToString(int[] num_arr){
        StringBuilder sb=new StringBuilder();
        for (int x=0;x<num_arr.length;x++){
            if (x!=num_arr.length-1)
                sb.append(num_arr[x]+" ");
            else
                sb.append(num_arr[x]);
        }
        return sb.toString();
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值