在Java中为什么每一个基本类型都有一个包装类型,他们的区别又是什么

1、什么是包装类型

       JDK为我们提供了一些与基本数据类型对应的类,这些类的对象可以和基本数据类型的变量直接互相赋值,并且这些类对比基本数据类型而言具有更为强大的功能。这些类就被称为包装类型。

2、为什么需要包装类型

        Java是一个面向对象的编程语言,一般是创建一个新的对象储存在堆里,然后我们通过栈中的引用来使用这些对象。所以Java中和C++一样,基本类型没有用new这个关键字来创建。但是Java是一个面对对象的编程语言,但是Java中的基本类型不是面向对象的,也不具有对象的性质,这让我们后面的代码产生了很多的麻烦,所以就创建了包装类,让其面对对象、有了对象的性质兵器添加了属性和方法。所谓包装类型就是将基本类型包装了起来,这就方便涉及对象的操作。

3、为什么会同时存在基本类型和包装类型

       在Java中既然有了包装类型,为什么还要用基本类型呢?因为如果我们使用一个特别特别小的变量,如果在把他new出来,然后存储到堆上,再由栈中的引用来使用这个对象,只能说是太麻烦了。所以为了代码的高效,我们就要使用到基本数据类型。所以基本类型和包装类型同时存在是合理的。

4、基本的类型的包装类

数据类型 包装类型
byte Byte
short Short
int Integer
long Long 
float Float
double  Double 
char

Character

boolean Boolean

5、图解

6、基本类型和包装类型的区别

1、声明方式不同

基本类型不用new关键字,而包装类型需要。

2、包装类型的值只能用equals方法来比

基本类型可以用“==”来比较数值的大小,但是如果包装类型用“==”来比较的话,是比较地址的,如果要比较包装类型的值必须要使用equals方法。

3、基本类型比包装类型更加高效

4、初始值不同

基本类型的初始值每个有每个不同的初始值,而包装类型的初始值是null。

5、基本类型不能在泛型中使用

泛型在编译时会进行类型擦除,最后只保留原始类型,而原始类型只能是 Object 类及其子类

6、基本类型不能使用于集合

集合中创建对象必须用包装类型,不能使用基本类型。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>