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

AXiYa_Ari AXiYa_Ari     2023-02-04     787

关键词:

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.lang包中!*作用:提供我们操作的一系列方法!*例子:集合中能存放基本数据类型吗???不能!必须是包装类!**基... 查看详情

包装类(代码片段)

...loatFloatdoubleDoublecharCharacterbooleanBoolean包装类在java.lang包中为什么提供包装类?为了编程方便包装类对象的创建(构造方法)1.Java会把这些基本类型数据自动转换为包装类对象publicstaticvoidm1(Objectobj)publicstaticvoidmain(String[]args)m1(true);m1(456... 查看详情

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

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

包装器类型

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

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

...类型名称和对应的基本类型一样只是首字母大写了。二:为什么会有包装类  既然有了基本类型为什么还要有包装类呢?我们在使用的过程中究竟用基本类型还是包装类呢?在某些场合不能使用基本类型必须使用包装类,比如... 查看详情

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

/****包装类/封装类:把基本数据类型转换成对象!*每一个基本数据类型都有一个对应的包装类!都是位于java.lang包中!*作用:提供我们操作的一系列方法!*例子:集合中能存放基本数据类型吗???不能!必须是包装类!**基... 查看详情

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

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

js开发中基本数据类型都有哪些

...用:基本数据类型保存在栈内存,引用数据类型实际上是一个指针,这个指针也保存在栈中,但是这个指针指向的对象则保存在堆内存中。两种数据访问方式基本数据类型:按值访问,读写的是它们实际保存的值。引用数据类型... 查看详情

java包装类

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

java包装类介绍(包装类基本类型数据)

...     1.1每个基本类型在java.lang包中都有一个相应的包装类 2.包装类有何作用   2.1 提供了一系列实用的方法   2.2集合不允许存放基本数据类型数据,存放数字时,要用包装类型&n 查看详情

包装类

...java类库里提供的大量的方法。所有在设计上,我们让每一个基本数据类型都对应一个类,同时数据存储的范围还不变。此时相当于基本数据类型就具有了类的特点。这些类即为包装类(wrapper或封装类) 我们需要掌握的:基... 查看详情

java的8种基本数据类型及它们的包装类型占用内存分析

...的是int和float,64位的是double和long。3、每种基本类型都有一个包装类型来把它包装在对象中,如int的包装类型是Integer,char的包装类型是Ch 查看详情

java包装类型

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

int和integer有什么区别?

int和Integer有什么区别?答:Java是一个近乎纯洁的面向对象编程语言,但是为了编程的方便还是引入了基本数据类型,但是为了能够将这些基本数据类型当成对象操作,Java为每一个基本数据类型都引入了对应的包装类型(wrappercl... 查看详情

int和integer有什么区别?

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

我对于java基本类型的理解

问:为什么基本类型数组不能和Object数组对传呢?答:那是因为基本类型数组虽然被看作成一个引用类型,但是基本类型数组里的每个元素还是基本类型,但是java并没有提供对基本类型的操作的方法所以不能转为Object数组类型... 查看详情

java基本类型和包装类型

...nt是基本类型,直接存数值 Integer是类,产生对象时用一个引用指向这个对象Java把内存划分成两种:一种是栈内存,另一种是堆内存 在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配 ... 查看详情

学懂java常用类

一.包装类1.概念包装类是将基本类型封装到一个类中,包含属性和方法,方便对象操作包装类位于java.lang包中2.转换包装类与基本数据类型包装类是将基本数据类型封装成一个类,包含属性和方法使用在使用过程中,会涉及到自... 查看详情