Java:基本数据类型包装类

基本数据类型对象包装类
   基本数据类型(关键字)   引用数据类型(类)
         byte                          Byte
         short                        Short
         int                            Integer
         long                Long  
         float                         Float
         double                       Double
         char                         Character
基本数据类型对象包装类最常见的作用是:用于基本数据类型和字符串类型之间的转换
    1、基本数据类型----------->字符串类型
 
         String toString():返回一个表示该 Integer 值的 String 对象
         static String toString(int i) : 返回一个表示指定整数的 String 对象。 
         static String toString(int i, int radix)  :返回用第二个参数指定基数表示的第一个参数的字符串表示形式。
         方式一:基本数据+"";
         方式二: 基本数据类型.toString(基本数据类型值);
         如:Integer.toString(34);//将整数34转换为字符串“34”。
 
    2、字符串类型----------->基本数据类型
一、调用静态方法 :xxx a = Xxx.parseXxx(String s);
 
       例如 int a = Integer.parseInt("123"); 
              double d = Double.parseDouble("123.2");
              boolean b = Boolean.parseboolean("true");
 
二、也可以先转为类,创建对象后,调用非静态方法 : int intValue() 、long longValue() 
 
例如:Integer i = new Integer("123");  
         int a = i.intValue();
 
         static int parseInt(String s):将字符串参数作为有符号的十进制整数进行解析。
         static int parseInt(String s, int radix):使用第二个参数指定的基数(进制类型),将字符串参数解析为有符号的整数。也即就是其他的转换为十进制
总结:  十进制转为其他进制:
            static String toBinaryString(int i)
            static String toHexString(int i)
            static String toOctalString(int i)
            其他进制转为十进制:
            static int parseInt(String s, int radix)
实例如下:
class IntegerTest
{
    public static void sop(String str)
    { 
        System.out.println(str);
    }
    public static void main(String[] args)
    {
        //获取整数型的最大值。
        sop("max="+Integer.MAX_VALUE);
        //获取整数型的最小值。
        sop("min="+Integer.MIN_VALUE);
        //获取整数型的比特位数。
        sop("size="+Integer.SIZE);
        //获取Integer类实例的数据类型。
        sop("type="+Integer.TYPE);
        
        //将字符串转换为基本数据类型
        int sum = Integer.parseInt("123");//字符串"123"转换为整型数据123
        sop("sum="+sum);//返回的数据为123
        
        sop(Integer.toBinaryString(6));//十进制的6转为二进制数是110
        sop(Integer.toHexString(60));//十进制的60转为十六进制数是3c
        sop(Integer.toOctalString(12));//十进制的12转为八进制数是14
        
        sop(""+Integer.parseInt("110",2));//二进制的110转为十进制数是6
        sop(""+Integer.parseInt("3c",16));//十六进制的3c转为十进制数是60
        sop(""+Integer.parseInt("14",8));//八进制的14转为十进制数是12
    }
}
static Integer valueOf(int i)  :返回一个表示指定的 int 值的 Integer 实例。
static Integer valueOf(String s)  : 返回保存指定的 String 的值的 Integer 对象
static Integer valueOf(String s, int radix):返回一个 Integer 对象,该对象中保存了用第二个参数提供的基数进行解析时从指定的 String 中提取的值。
 
JDK1.5版本后出现的新特性:Integer类对象的自动装箱、自动拆箱
实例如下:
class IntegerTest1
{
    public static void sop(String str)
    {
        System.out.println(str);
    }
    public static void main(String[] args)
    {
        method();
        sop(""+Integer.valueOf("123"));//返回Integer对象123
        sop(Integer.valueOf("110",2).toString());//返回Integer对象为6(十进制的6是由二进制的110转换过来的)
        
        //Integer x = new Integer(4);
        Integer x = 4; //(前提x不能为null)自动装箱,即自动将4装进了new Integer()  
// 4--->new Integer()---->new Integer(4)
x = x + 2;//首先将x自动拆箱即x.intValue()变成了int类型,和2进行加法运算后,对和x再进行自动装箱 sop("x="+x); Integer m = 128; Integer n = 128; sop("m==n:"+(m==n));//false,它的byte值不在-128~127之前,因此m和n指向了不同的对象 Integer a = 127; Integer b = 127; sop("a==b:"+(a==b));//true,因为a和b指向同一个Integer对象,当数值在byte范围内时,对于新特性,如果数值已经存在,则不会开辟新的空间 } public static void method() { Integer x = new Integer("123"); Integer y = new Integer(123); sop("x==y:"+(x==y));//比较的是对象是否相同 sop("x.equals(y):"+x.equals(y)); //复写了父类的方法,建立了自己比较相同的特有方式,它比较的是数值是否相同 } }
原文地址:https://www.cnblogs.com/XYQ-208910/p/4914621.html