什么是包装类?
能将基本数据类型表示为引用数据类型(类)。
| 基本类型 | 对应的包装类 |
| byte | Byte |
| short | Short |
| int | Integer |
| long | Long |
| float | Float |
| double | Double |
| char | Character |
| boolean | Boolean |
为什么需要包装类?
1.集合中不允许存放基本数据类型
2.包装类中包含该基本类型的相关属性,例如,最大值,最小值,字节大小等。
3.提供了一系列对象操作,如进制转换,类型转换。
基本数据类型和包装类的区别?
1.定义方式不同,包装类既可以直接定义也可以通过new来创建。
2.存储位置不同,基本数据类型存储在栈中,包装类对象存储在堆中。
3.初始值不同,包装类对象的初始值为null,基本数据类型的初始值随数据类型而定。
拆箱与装箱?
拆箱:将包装类类型转为基本数据类型。
装箱:将基本数据类型转为包装类类型。
自动拆箱和自动拆箱?
自动装箱:int-->Integer
Integer in=10;//自动装箱:Integer in=Integer.Valueof(10);
System.out.println(in);
自动拆箱:Integer-->int
int i=in;//自动拆箱:int i=in.intValueof();
System.out.println(i);
包装类使用注意事项?
1.Number类是Byte Short Integer Long Float Double共同父类。
2.包装类的哈希值是固定的,Byte、Short、Integer直接返回基本数据类型的值作为哈希值。
易错点:当使用Integer创建对象时,若值大于-128且小于128时,不创建对象,直接从从一个缓冲区获取的。



