基本数据类型的对象包装类

转换

  包装前        包装后

 byte        Byte

 short       Short

 int           Integer

 long         Long 

   boolean   Boolean

 float     Float

 double     Double

 char         Character

注意:

  基本类型在java里不属于对象,包装类是将基本数据类型转换为对象的过程

 

特性

  基本数据类型对象包装类最常见的作用,就是用于基本数据类型和字符串之间做转换

  基本数据类型转成字符串

   1.基本数据类型+""[非专业转换做法]

   2.基本数据类型包装类[包装后].toString(基本数据类型值);

    如:Integer.toString(34)  //将34转换为"34"

1 public class IntegerDemo {
2     public static void main(String[] args) {
3         
4         System.out.println(Integer.toString(34)); //34
5 
6     }
7 }

 

   字符串转成基本数据类型

   1.基本数据类型包装类[包装后].parseInt

   格式:xxx a=Xxx.parseXxx(String)

 

 1 public class IntegerDemo {
 2     public static void main(String[] args) {
 3 
 4         int a = Integer.parseInt("85");
 5         long b = Long.parseLong("90");
 6 
 7         System.out.println(a + 5); // 90
 8         System.out.println(b + 10); // 100
 9 
10     }
11 }

 

   2.intValue()
          以 int 类型返回该 Integer 的值

 1 public class IntegerDemo {
 2     public static void main(String[] args) {
 3 
 4         Integer b = new Integer("120");
 5 
 6         int c = b.intValue();
 7         System.out.println(c); // 120
 8 
 9     }
10 }

   进制 

  十进制转其他进制

  toBinaryString(int i)
      以二进制(基数 2)无符号整数形式返回一个整数参数的字符串表示形式

  toHexString(int i)
      以十六进制的无符号整数形式返回一个整数参数的字符串表示形式

  toOctalString(int i)
      以八进制(基数 8)无符号整数形式返回一个整数参数的字符串表示形式

 

 1 public class IntegerDemo {
 2     public static void main(String[] args) {
 3 
 4         int a=Integer.parseInt("120");
 5         
 6         System.out.println(Integer.toBinaryString(120)); //1111000
 7         System.out.println(Integer.toHexString(120));     //78
 8         System.out.println(Integer.toOctalString(120));  //170
 9         
10     }
11 }

 

   其他进制转十进制

  parseInt(String s, int radix)

  将radix指定的进制数转换为十进制的数,s代表的数就是radix所指的进制数

  radix:代表几进制。已知的给定的数s的进制

 1 public class IntegerDemo {
 2     public static void main(String[] args) {
 3 
 4         int b = Integer.parseInt("120",10);
 5         int c = Integer.parseInt("110",2);
 6         int d = Integer.parseInt("120",8);
 7         int e = Integer.parseInt("120",16);
 8         
 9         System.out.println(b);    //120
10         System.out.println(c);    //6
11         System.out.println(d);    //80
12         System.out.println(e);    //288
13 
14     }
15 }

 

新特性  

  JDK1.5版本之后出现的新特性

 1.自动装箱

 

 

  Integer x=4;   等同于  Integer x=new Integer(4)

   1.5版本之后                      1.5版本之前

   自动拆箱 

  Integer x=4; 

    x=x+2   

  x进行自动拆箱,变成了int类型,与2进行加法运算,再将和自动装箱赋给x

   拆箱过程

   先运用x.inValue()将x转换为int类型的整数,然后进行加和操作

   注意:运用新特性的时候x的值不能玩为null,否则会出现空指针异常

 2. 

   Integer m=128;

   Integer n=128;

   syso(m==n);  //false

   <------------------------>

     Integer a=127;

 

   Integer b=127;

 

   syso(a==b);  //true   a和b指向同一个Integer对象

原因解析

   因为当数值在byte范围内容,对于新特性,如果该数值已经存在,则不会再开辟新空间

 3.compareTo(Integer anotherInteger)

      在数字上比较两个 Integer 对象

 

   

posted @ 2016-08-22 01:05  IT蓄水池  阅读(146)  评论(0)    收藏  举报