问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

面试官:int和Integer有什么区别?为什么要有包装类?

发布网友 发布时间:2024-09-28 05:35

我来回答

1个回答

热心网友 时间:2024-10-26 05:39

Java 是一种强数据类型的语言,因此所有的属性必须有一个数据类型。就像麦德龙超市一样,想要进去购物,先要有一个会员卡才行(刷卡入内)。

PS:Java 10 有了局部变量类型推导,可以使用 var 来替代某个具体的数据类型,但在字节码阶段,Java 的变量仍有着明确的数据类型,且局部变量类型推导有着很多*和不完善之处,也不是目前主流的应用版本,所以这里不做深入讨论。

回到主题,要理解 int 和 Integer 的区别,要先从 Java 的基础数据类型说起。

基本数据类型

在 Java 中,一共有 8 种基本类型(primitive type),其中有 4 种整型、2 种浮点类型、1 种用于表示 Unicode 编码的字符类型 char 和 1 种用于表示真假值的 boolean 类型。

4 种整型:int、short、long、byte

2 种浮点类型:float、double

字符类型:char

真假类型:boolean

基本数据类型是指不可再分的原子数据类型,内存中直接存储此类型的值,通过内存地址即可直接访问到数据,并且此内存区域只能存放这种类型的值,int 就是 Java 中一种常用的基础数据类型。

包装类及其作用

因为 Java 的设计理念是一切皆是对象,在很多情况下,需要以对象的形式操作,比如 hashCode() 获取哈希值,或者 getClass() 获取类等。

包装类的作用

在 Java 中每个基本数据类型都对应了一个包装类,而 int 对应的包装类就是 Integer,包装类的存在解决了基本数据类型无法做到的事情泛型类型参数、序列化、类型转换、高频区间数据缓存等问题。

基础类型包装类型intIntegershortShortbyteBytelongLongfloatFloatdoubleDoublecharCharacterbooleanBooleanint 和 Integer 的区别

int 和 Integer的区别主要体现在以下几个方面:

数据类型不同:int 是基础数据类型,而 Integer 是包装数据类型;

默认值不同:int 的默认值是 0,而 Integer 的默认值是 null;

内存中存储的方式不同:int 在内存中直接存储的是数据值,而 Integer 实际存储的是对象引用,当 new 一个 Integer 时实际上是生成一个指针指向此对象;

实例化方式不同:Integer 必须实例化才可以使用,而 int 不需要;

变量的比较方式不同:int 可以使用 == 来对比两个变量是否相等,而 Integer 一定要使用 equals 来比较两个变量是否相等。

总结

Integer 是 int 的包装类,它们的区别主要体现在 5 个方面:数据类型不同、默认值不同、内存中存储的方式不同、实例化方式不同以及变量的比较方式不同。包装类的存在解决了基本数据类型无法做到的事情泛型类型参数、序列化、类型转换、高频区间数据缓存等问题。

参考 & 鸣谢

《码出高效:Java开发手册》

关注公众号:Java面试真题解析,查看更多 Java 面试题。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
你见过最古老的东西是什么,有多少年历史 WORD中怎么输出稿纸模式word中怎么输出稿纸模式 女性尿检阴性是什么意思 阴性尿检是什么意思 尿检阴性是什么 win10如何查看电脑配置参数 win10怎样查看电脑配置参数 多地对公职人员提接种要求 亚马逊订单可以退回任何Kohl's商店,7月份生效 亚马逊提供免费退货,珠宝退货卖家要承担运费吗 新的亚马逊退货政策惹争议!官方解答来了 产后吃什么催奶呀? - 百度宝宝知道 JAVA里面的int类型 和有什么不一样 int和Integer的区别? 微博id是 准贷记卡 与贷记卡区别是什么 5年继续教育学时怎么补 梦见爸爸的商店被查 梦见开了一间旅店被查证件? 手机拳皇怎么联机 H0w d0 y0u lⅰke thⅰs skⅰrt?汉语意思? h0w many penciis d0 y0u have?是什么意思 榆次初三学生能上阳煤技校吗 淄川煤矿技校怎么样啊,学什么技术比较好啊 上完平煤技校的学历是什么? 煤田技校现在还能不能办电工证 平顶山煤炭高级技工学校的学历认证需要到哪里认证 铜套什么材质好 ...提示没有数据。怎么回事啊?U盘在电脑上面也好好的 叉车后退左转方向盘往哪边打 CD、 TS、 TV分别是什么意思? integer在哪个包 法拍房是先腾房还是先拍卖 法拍房有抵押的能买吗 win键锁定怎么解开 二建哪个省好考 二建各专业的难易程度怎样 We are looking forward to meeting you, welcome you to come to... Looking+forward+to+meet+you要怎么回复? best wishes and looking forward to meeting you in China.的中文意思... 口子加个爱是什么字 五菱小旋风和五菱之光小卡哪个适合跑运输?综合性价比选哪个? 五菱之光小卡过户麻烦吗 英语 让我们去美国度假吧 整天做作业是枯燥的 怎么说 我要去美国了,应该带什么英文书去 怎么才能当上一名消防员(不是合同制的消防员,是武警消... 假面骑士沃兹模拟器手机版安卓APK如何下载 shf系列 假面骑士沃兹 哪位朋友能告诉我无锡一共有几个招聘会现场,都在什么地方?谢谢帮忙! 时光飞逝,它 (填表示时间过得很快的成语) 时间过得很快用成语是什么 ...我想给他们买一份保险,不知道买什么样的合适?