1. 基本类型 VS 包装类型
基本类型 | 包装类型 |
---|---|
boolean | Boolean |
char | Character |
int | Integer |
byte | Byte |
short | Short |
long | Long |
float | Float |
double | Double |
1.1 为什么存在基本类型和包装类型?
我们都知道在Java语言中,new一个对象存储在堆里,我们通过栈中的引用来使用这些对象;但是对于经常用到的一系列类型如int,如果我们用new将其存储在堆里就不是很有效-特别是简单的小的变量。所以就出现了基本类型,同C++一样,Java采用相似做法,对于基本类型不是用new关键字创建,而是将变量直接存在栈中,存取更加高效。
1.2 有了基本类型为什么还要包装类型?
我们知道Java是一个面向对象的编程语言,基本类型并不具有对象的性质,为了让基本类型也具有对象的特性,就出现了包装类型。包装类型将基本类型包装起来,使具有对象的性质,并且为其添加了属性和方法,丰富了基本类型的操作。
容器是装Object类型的,当向集合容器里存放基础类型数据,需要存储对应的包装类。
1.3 基本类型和包装类型区别?
基本类型 | 包装类型 | |
---|---|---|
声明方式 | int i = 0; | new关键字 |
存储方式及位置 | 变量值存储栈 | 变量值存储堆,通过引用使用 |
初始值 | int初始值为0 | 初始值为null |
使用方式 | 不能在集合容器使用 | 可以在集合容器使用 |
网友评论