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

Posted AXiYa_Ari

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Java中为什么每一个基本类型都有一个包装类型,他们的区别又是什么相关的知识,希望对你有一定的参考价值。

1、什么是包装类型

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

2、为什么需要包装类型

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

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

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

4、基本的类型的包装类

数据类型包装类型
byteByte
shortShort
intInteger
longLong 
floatFloat
double Double 
char

Character

booleanBoolean

5、图解

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

1、声明方式不同

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

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

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

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

4、初始值不同

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

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

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

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

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

以上是关于在Java中为什么每一个基本类型都有一个包装类型,他们的区别又是什么的主要内容,如果未能解决你的问题,请参考以下文章

java中的包装类

基本数据类型的包装类

包装类

基本数据类型的包装类和随机数

JAVA中,基本类型的包装类

Java编程的逻辑 (26) - 剖析包装类 (上)