常用类
1 包装类
把八大基本数据类型封装到一个类中,并提供属性和方法,更方便的操作基本数据类型。包装类的出现并不是用于取代基本数据类型。
特点:
【1】包装类位于java.lang包中。Number 类,Number数值类型是八大基本数据类的抽象父类,提供把包装类转化成基本数据类型的方法(xxxValue)。
例子:Interger 是int基本数据类型的包装类,在Integer内部封装了一个final int value的属性。
【2】 int<==> Interger <==> string
public static void main(String[] args) { // int->Integer Integer i1 = new Integer(10); Integer i2 = Integer.valueOf(20); // Integer->int int a = i1.intValue(); // String->Integer Integer i3 = new Integer("30"); Integer i4 = Integer.valueOf("40"); //Integer->String System.out.println(i3.toString()); // String->int int b = Integer.parseInt("50"); // int->String String str = Integer.toString(10); //String str2 = Integer.toString(8, 2); //System.out.println(str2); }
Comparable接口
Integer中Comparable 表示具有比较能力,对象可比较大小,此接口强行对实现它的每个类的对象进行整体排序。这种排序被称为类的自然排序。
Comparable 定义了a.compareTo(b),返回值表示
a.compareTo(b) |
返回值 |
排序 |
a < b |
负整数 |
升序 |
a = b |
0 |
相等 |
a > b |
正整数 |
降序 |
自动装箱和自动拆箱
自动装箱:把基本数据类型自动转化成对象的包装类的过程称为自动装箱(auto-boxing
Integer i = 10;
自动拆箱:把包装类自动转化成对于的基本数据类型的过程称为自动拆箱(auto-unboxing)
int a = i;
注意:
[1]自动装箱和自动拆箱是jdk1.5
[2]不要过于频繁的使用拆装箱操作(消耗内存)