Java中有8种基本数据类型,每种基本数据类型又有对应的包装类型。
基本数据类型 | 对应包装类型 |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
char | Character |
boolean | Boolean |
Java中一切都是对象,为什么还有基本数据类型?
Java中,一切都是对象,但依然有基本数据类型。
一方面是因为基本数据类型使用起来简单、方便;
另一方面主要是基于程序的执行效率考虑。Java的对象存储在堆中,基本类型变量存储在栈中;而栈的效率要高于堆的效率,合适的使用基本数据类型可以提高效率。所以基本数据类型的存在很必要。
Java有了基本数据类型,为什么还要有包装数据类型?
由于基本数据类型不是面向对象的,而Java中很多地方都需要使用对象,比如集合的元素要求必须是Object类型。
因此,我们需要一种可以代替基本数据类型的类,所以就有了包装类型。
包装类型相当于将基本数据类型转换为对象,使得它具有了对象的性质,并为其添加了属性和方法,丰富了基本类型的操作。
基本数据类型和包装数据类型的区别?
- 存储方式不同。一般情况下,基本数据类型存储在栈上;包装数据类型存储在堆上。
- 声明方式不同。包装数据类型需要new关键字来在堆中分配存储空间,而基本数据类型不需要。
- 默认值不同。基本数据类型中 byte、short、int、long的默认值是 0,float、double的默认值是 0.0 ,char 的默认值是 null,boolean 的默认值是 false;而包装类型的默认值都为 null。
如果你已经看到了这里,那可以麻烦您点个赞么,笔者在这里先行谢过。