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

您所在的位置:网站首页 为什么要有包装类型的产品 Java 中有了基本类型为什么还需要包装类?

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

2024-07-14 13:42| 来源: 网络整理| 查看: 265

面试回答

Java 中有8种基本数据类型,这些基本类型又都有对应的包装类。

分类

基本数据类型

包装类

布尔型

boolean

Boolean

整型

byte

Byte

short

Short

int

Integer

long

Long

字符型

char

Character

浮点型

float

Float

double

Double

因为 Java 是一种面向对象语言,很多地方都需要使用对象而不是基本数据类型。比如,在集合类中,我们是无法将 int、double 等类型放进去的。因为集合的容器要求元素是 Object 类型。

为了让基本类型也具有对象的特征,就出现了包装类型,它相当于将基本类型“包装起来”,使得它具有了对象的性质,并且为其添加了属性和方法,丰富了基本类型的操作。

知识扩展

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

默认值不同,基本类型的默认值为0,false或\u0000等,包装类默认为 null初始化方式不同,一个需要new,一个不需要存储方式不同,基本类型保存在栈上,包装类对象保存在堆上(通常情况下,在没有JIT优化栈上分配时)

如何理解自动拆装箱 拆箱与装箱

包装类是对基本类型的包装,所以,把基本数据类型转换成包装类的过程就是装箱;反之,把包装类转换成基本数据类型的过程就是拆箱。

自动拆装箱

在 Java SE5 中,为了减少开发人员的工作,Java 提供了自动拆箱和自动装箱的功能。

自动装箱:就是将基本数据类型自动转换成对应的包装类。

自动拆箱:就是将包装类自动转换为对应的基本数据类型。

Integer i=1; //自动装箱 int x=i; //自动拆箱 自动拆装箱原理

自动装箱都是通过包装类的 valueOf() 方法来实现的。自动拆箱都是通过包装类对象的 xxxValue() 来实现的。

如:int 的自动装箱都是通过 Integer.valueOf() 方法来实现的,Integer 的自动拆箱都是通过 integer.intValue() 来实现的。

public static Integer valueOf(int i) { if (i >= IntegerCache.low && i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3