把八大基本数据类型封装到一个类中(包装类),并提供属性和方法。让我们更加方便的操作基本数据类型。但包装类的出现并不是为了取代基本数据类型,也取代不了。
包装类位于java.lang包中。
Number 类
Number数值类型是byte、double、float、int、long 和 short类的抽象父类,提供把包装类转化成基本数据类型的方法(xxxValue)。
为了编程的方便还是引入了基本数据类型,但是为了能够将这些基本数据类型当成对象操作,Java为每 一个基本数据类型都引入了对应的包装类型(wrapper class),int的包装类就是Integer,从Java 5开始引入了自动装箱/拆箱机制,使得二者可以相互转换。
1 基本数据类型: boolean,char,byte,short,int,long,float,double 2 封装类类型:Boolean,Character,Byte,Short,Integer,Long,Float,Double
Interger 是int基本数据类型的包装类,在Integer内部封装了一个final int value的属性。
[1] 构造方法
1 public static void main(String[] args) { 2 // 【1】Integer 属性 3 //System.out.println(Integer.MAX_VALUE); 4 //System.out.println(Integer.MIN_VALUE); 5 6 // 【2】构造方法 7 int a = 10; 8 String bStr = "20"; 9 Integer i1 = new Integer(a); 10 // 可能抛出NumberFormatException异常 11 Integer i2 = new Integer(bStr); 12 System.out.println(i1.toString()); 13 System.out.println(i2.toString()); 14 }
[2] int<->Integer<->string
1 public static void main(String[] args) { 2 3 // int->Integer 4 Integer i1 = new Integer(10); 5 Integer i2 = Integer.valueOf(20); 6 7 // Integer->int 8 int a = i1.intValue(); 9 10 // String->Integer 11 Integer i3 = new Integer("30"); 12 Integer i4 = Integer.valueOf("40"); 13 14 //Integer->String 15 System.out.println(i3.toString()); 16 17 18 // String->int 19 int b = Integer.parseInt("50"); 20 21 // int->String 22 String str = Integer.toString(10); 23 //String str2 = Integer.toString(8, 2); 24 //System.out.println(str2); 25 }
【3】comparaber接口
comparaber表示具有比较的能力,对象可以用来比较大小,此接口强行对实现它的每个类的对象进行整体排序。这种排序被称为类的自然排序。
Comparable 定义了a.compareTo(b),返回值表示
a.compareTo(b) |
返回值 |
排序 |
a < b |
负整数 |
升序 |
a = b |
0 |
相等 |
a > b |
正整数 |
降序 |
【2】Integer的比较
Integer i2 = new Integer(20); Integer i3 = new Integer(10); System.out.println(i2.equals(i3)); System.out.println(i2.compareTo(i3));
自动装箱
integer i = 10;
自动拆箱
i++;//因为i自动转换成int类型,所以可以进行自加1的运算
1 public static void main(String[] args) { 2 3 // Integer i1 = new Integer(10); 4 // 自动装箱 5 Integer i2 = 20; // i2 = new Integer(20); 6 System.out.println(i2.toString()); 7 8 // 自动拆箱 9 Integer i3 = new Integer(30); 10 int a = i3; // i3.intValue(); 11 }
注意:
[1]自动装箱和自动拆箱是jdk1.5
[2]不要过于频繁的使用拆装箱操作
原文:https://www.cnblogs.com/ruckly/p/10793494.html