java中有了基本类型为什么还要有包装类型?

     2022-03-29     122

关键词:

java中有了基本类型为什么还要有包装类型?

1、Java中基本数据类型与包装类型有:

基本类型 包装器类型 父类
boolean Boolean java.lang.Boolean
int Integer java.lang.Number
char Character java.lang.Character
byte Byte java.lang.Number
short Short java.lang.Number
long Long java.lang.Number
double Double java.lang.Number
float Float java.lang.Number

2、为什么存在这两种类型呢?

我们都知道在Java语言中,new一个对象存储在堆里,我们通过栈中的引用来使用这些对象;但是对于经常用到的一系列类型如int,如果我们用new将其存储在堆里就不是很有效——特别是简单的小的变量。所以就出现了基本类型,同C++一样,Java采用了相似的做法,对于这些类型不是用new关键字来创建,而是直接将变量的值存储在栈中,因此更加高效。

3、有了基本类型为什么还要有包装类型呢?

我们知道Java是一个面相对象的编程语言,基本类型并不具有对象的性质,为了让基本类型也具有对象的特征,就出现了包装类型(如我们在使用集合类型Collection时就一定要使用包装类型而非基本类型),它相当于将基本类型“包装起来”,使得它具有了对象的性质,并且为其添加了属性和方法,丰富了基本类型的操作。

另外,当需要往ArrayList,HashMap中放东西时,像int,double这种基本类型是放不进去的,因为容器都是装object的,这是就需要这些基本类型的包装器类了。

4、二者相互转换:

1) int转Integer

int i = 0;  
Integer ii = new Integer(i);

2) Integer转int

Integer ii = new Integer(0);  
int i = ii.intValue(); 

5、二者的区别:

1) 声明方式不同:

基本类型不使用new关键字,而包装类型需要使用new关键字来在堆中分配存储空间;

2) 存储方式及位置不同:

基本类型是直接将变量值存储在栈中,而包装类型是将对象放在堆中,然后通过引用来使用;

3) 初始值不同:

基本类型的初始值如int为0,boolean为false,而包装类型的初始值为null;

4) 使用方式不同:

基本类型直接赋值直接使用就好,而包装类型在集合如Collection、Map时会使用到。

包装器类型

...量的值存储在堆栈中,因此更加高效。有了基本类型之后为什么还要有包装器类型呢?我们知道Java是一个面相对象的 查看详情

java包装类型

 ********************包装类型***************************一.为什么有包装类型java是面向对象的语言,但是正因为有了8种基本类型的存在,导致java不是完全面向对象的语言为了让java语言完全的面向对象,java设计人员,封装每一种基本类型设... 查看详情

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

...言具有更为强大的功能。这些类就被称为包装类型。2、为什么需要包装类型    Java是一个面向对象的编程语言,一般是创建一个新的对象储存在堆里,然后我们通过栈中的引用来使用这些对象。所以Java中和C++一... 查看详情

为什么hashmap中key是引用类型而不是基本数据类型?为什么有了基本数据类型还有包装类型?

 为什么HashMap中key是引用类型而不是基本数据类型?最主要的原因是,hashmap中不能存储重复值,因此在存入值的时候,需要用到存储对象的hashcode()和equals()方法进行判断,而基本数据类型是没有这两个方法的。因此HashMap中key... 查看详情

拆箱和装箱(有了基本数据类型为什么还需要包装类)(代码片段)

1,什么是基本数据类型java中提供了八个基本的数据类项:int,byte,short,long,float,double,boolean,char*String不是基本的数据类型每个基本的数据类型都会有一个对应得包装类int---Integer2,装箱和拆箱装箱,哪基本数据类项转换成对应的... 查看详情

java千百问_06数据结构(003)_什么是基本类型包装器

...是包装器包装器也叫包装类,继承于Object,可以当作8种基本数据类型的类映射,包装器可以直接转换为基本数据类型(成为拆箱)。如下:了解8种基本数据类型看这里:java有哪8种基本数据类型2、包装器有什么作用包装器描述... 查看详情

java-常见对象(基本类型包装类)

 为什么会有基本类型包装类  将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据。常用操作:  1.用于基本数据类型与字符串之间的转换基本类型和包装类的对应:  byte  Byte  sh... 查看详情

java包装器类型(代码片段)

一、为什么要使用包装器类型  java是面向对象的语言,但基本类型并不是面向对象的,从而出现了包装器类型,并且包装器添加了更多的属性和方法。如我们在使用集合类型Collection的时候就一定要使用包装类型而非基本类型... 查看详情

java基础基本数据类型包装类int与string之间的相互转换

为什么会有基本类型包装类?将基本类型数据类型封装成对象,这样的好处可以在对象中定义更多方法操作该数据。包装类常用的操作就是用于基本数据类型与字符串之间的转换问题:inta=100;为什么不能使用Strings=(String)a;Strings... 查看详情

java中的包装类

  java中有8种基本的数据类型,其中每一种数据类型都对应了一种包装类。java是纯面向对象的语言,在java中的一切东西都可以用对象的形式表示,包括java中的基本数据类型。包装类中除了Integer和Character外,其他的包装类... 查看详情

java包装类

先说说为什么会出现包装类呢?java是一门面向对象的编程语言,基本类型并不具有对象的性质,虽然java可以直接处理基本类型,但有时候需要将其作为对象来处理,这就需要将基本类型改为包装类型。Java中八种基本数据类型对... 查看详情

深入浅出java中的包装类

前阵子,我们分享了《Java中的基本数据类型转换》这篇文章,对许多粉丝还是有带来帮助的,今天讲一下Java包装类的的由来,及自动装箱、拆箱的概念和原理。什么是包装类型Java设计当初就提供了8种基本数据类型及对应的8种... 查看详情

java小白训练营day03-数据结构:基本类型+包装类型+数组+对象(代码片段)

...章目录程序数据结构非常丰富java中把数据类型分类:为什么java中要有基本类型呢?基本类型需求:有两个整数100、200使用什么类型存储合适?需求:有10亿(9个0)和100亿(10个0)区别?类... 查看详情

int和integer有什么区别?

...洁的面向对象编程语言,但是为了编程的方便还是引入了基本数据类型,但是为了能够将这些基本数据类型当成对象操作,Java为每一个基本数据类型都引入了对应的包装类型(wrapperclass),int的包装类就是Integer,从Java5开始引... 查看详情

00071_基本类型包装类

1、基本类型包装类概述  (1)在实际程序使用中,程序界面上用户输入的数据都是以字符串类型进行存储的。而程序开发中,我们需要把字符串数据,根据需求转换成指定的基本数据类型,如年龄需要转换成int类型,考试成... 查看详情

int和integer有什么区别?

...洁的面向对象编程语言,但是为了编程的方便还是引入了基本数据类型,但是为了能够将这些基本数据类型当成对象操作,Java为每一个基本数据类型都引入了对应的包装类型(wrapperclass),int的包装类就是Integer,从Java5开始引... 查看详情

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

包装类Java有八种基本类型,每种基本类型都有一个对应的包装类。包装类是什么呢?它是一个类,内部有一个实例变量,保存对应的基本类型的值,这个类一般还有一些静态方法、静态变量和实例方法,以方便对数据进行操作... 查看详情

java基础知识(java基本数据类型包装类)

  基本数据类型的包装类为什么需要包装类? Java并不是纯面向对象的语言。Java语言是一个面向对象的语言,但是Java的基本数据类型却不是面向对象的。但是我们在实际使用中经常需要将基本数据转化成对象,便于操... 查看详情