[TOC]
包装类的存在意义
- 基本数据类型通过包装类包装后,可以获取对应类的属性和方法等。
- 对于数组,每个单位既可以存放引用数据类型,也可以保存基本数据类型;但对于集合,只能保存引用数据类型。
各个基本数据类型对应的包装类
| 基本数据类型 | 包装类 | 继承关系 |
|---|---|---|
| byte | Byte | Number--Object |
| short | Short | Number--Object |
| int | Integer | Number--Object |
| long | Long | Number--Object |
| float | Float | Number--Object |
| double | Double | Number--Object |
| char | Charactor | Object |
| boolean | Boolean | Object |
可以看出,除了char和boolean两个基本数据类型对应的包装类是Object类的子类,其余也间接继承自Object类
包装类举例--Integer
基本属性
MAX_VALUE:范围最大值
MIN_VALUE:范围最小值
转换(int、String-->Integer)
通过构造器
可以直接通过有参构造器将基本数据类型转换成对一个的包装类:
Integer i1 = new Integer(12);//int-->Integer
Integer i0 = Integer.valueOf(12);//int-->Integer
Integer i2 = new Integer("12");//String-->Integer
自动装箱
//int-->Integer
Integer i3 = 12;
Integer i4 = new Integer(23);
自动拆箱
//Integer-->int
int num = i4;
方法
compareTo()
Integer i5 = new Integer(66);
Integer i6 = new Integer(35);
System.out.println(i5.compareTo(i6));//(x<y)?-1:((x == y)? 0 : 1)
toString()、==、equals
Integer i7 = new Integer(66);
Integer i8 = new Integer(66);
System.out.println(i7);//输出:66
System.out.println(i7 == i8);//true
System.out.println(i7.equals(i8));//true
特别需要注意的是。从JDK1.5之后,对于自动装箱的包装类来说,如果表述范围在-128~127之间,==比较的就是具体的数值。而超出范围之后,就会在堆中给它开辟空间。
Integer i9 = 129;
Integer i10 = 129;
System.out.println(i9 == i10);//false
System.out.println(i9.equals(i10));//true
转换(Integer、String-->int)
Integer-->int
Integer i11 = 13;
int num2 = i13.intValue();
System.out.println(num2);//输出:13
String-->int
int num3 = Integer.parseInt("123");
System.out.println(num3);//输出:123
以上是Integer的相关内容举例,其它几个包装类的特性都大同小异,就不再赘述了。







网友评论