黑马程序员-Java中基本类型对应的类(装箱与拆箱)

时间:2021-08-15 10:56:58

                      -----------android培训、java培训、java学习型技术博客、期待与您交流!------------

                                            Java中基本类型对应的类(装箱与拆箱)
    1、基本数据类型对象包装类。
 byte Byte
 short Short
 int Integer
 long Long
 boolean Boolean
 float Float
 double Double
 char Character
 
    2、基本数据类型对象包装类的最常见作用,就是用于基本数据类型和字符串类型之间做转换。
       (1)基本数据类型转成字符串  
 基本数据类型+""
 基本数据类型.toString(基本数据类型值);
 如: Integer.toString(34);//将34整数变成"34";

       (2)字符串转成基本数据类型。
  xxx a = Xxx.parseXxx(String);
  int a = Integer.parseInt("123");
  double b = Double.parseDouble("12.23");
  boolean b = Boolean.parseBoolean("true");
  Integer i = new Integer("123");
  int num = i.intValue();

       (3)十进制转成其他进制。
  toBinaryString();
  toHexString();
  toOctalString();


       (4)其他进制转成十进制。
  parseInt(string,radix);
    

class IntegerDemo {
public static void sop(String str)
{
System.out.println(str);
}

public static void main(String[] args)
{
//整数类型的最大值。
//sop("int max :"+Integer.MAX_VALUE);

//将一个字符串转成整数。
//int num = Integer.parseInt("123");//必须传入数字格式的字符串。
//long x = Long.parseLong("123");
//sop("num="+(num+4));

//sop(Integer.toBinaryString(-6));
//sop(Integer.toHexString(60));

//将其他进制转换为十进制
int x = Integer.parseInt("3c",16);
sop("x="+x);


}
}


 

     3、自动装箱和拆箱
        (1)自动装箱
       new  Xxx(数值);
 (2)自动拆箱
       valueOf();
 (3)当数值在byte范围内容,对于新特性,如果该数值已经存在,则不会在开辟新的空间
    

class IntegerDemo1 {
public static void main(String[] args)
{
//newFuntion();
method();
}

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

Integer z = new Integer("124");
sop("y.compareTo(z)= "+y.compareTo(z));
}

public static void newFuntion(){
//Integer x = new Integer(4);
//自动装箱:new Integer(4)
Integer x = 4;
//x 通过x.intValue()进行自动拆箱,变成成了int类型;和2进行加法运算,再将和进行装箱赋给x。
x = x + 2;

//当数值在byte范围内容,对于新特性,如果该数值已经存在,则不会在开辟新的空间。
Integer m = 128;
Integer n = 128;
sop("m==n:"+(m==n));

Integer a = 127;
Integer b = 127;
sop("a==b:"+(a==b));//结果为true。因为a和b指向了同一个Integer对象。
}

public static void sop(String str){
System.out.println(str);
}
}