【面试干货】Integer 和 int 的区别

【面试干货】Integer 和 int 的区别

  • 1、基本类型与包装类型
  • 2、内存占用
  • 3、自动装箱与拆箱
  • 4、null 值
  • 5、常量池
  • 6、总结


💖The Begin💖点点关注,收藏不迷路💖

在Java中,Integer 和 int 是两种不同类型的变量,但它们之间有着密切的联系。本文将探讨这两种类型之间的主要区别。

1、基本类型与包装类型

  • intint 是Java中的基本数据类型之一,用于存储整数值。它直接存储数值,不需要额外的内存空间来存储对象元数据。

  • IntegerInteger 是 int 的包装类(Wrapper Class)。它是Java的一个类,提供了对基本数据类型 int 的对象封装。这意味着 Integer 是一个对象,并且需要额外的内存来存储对象的元数据(如类型信息、哈希码等)。

2、内存占用

  • int:由于 int 是基本数据类型,它直接存储数值,不需要额外的内存来存储对象元数据。因此,它在内存中的占用空间是固定的,通常为4个字节(在大多数现代系统上)。

  • IntegerInteger 是一个对象,除了存储整数值外,还需要额外的内存来存储对象的元数据。 这包括类型信息、哈希码、以及可能指向其他对象的引用等。因此,Integer 对象在内存中的占用空间通常比 int 更大。

3、自动装箱与拆箱

  • 自动装箱:当需要将一个基本数据类型(如 int)赋值给一个包装类型的对象(如 Integer)时,Java会自动将基本数据类型转换为包装类型,这个过程称为自动装箱。
    int i = 10;  
    Integer integer = i; // 自动装箱
    
  • 自动拆箱:当需要将一个包装类型的对象赋值给一个基本数据类型时,Java会自动将包装类型转换为基本数据类型,这个过程称为自动拆箱。
    Integer integer = 10;  
    int i = integer; // 自动拆箱
    

4、null 值

  • int:由于 int 是基本数据类型,它不能赋值为 null如果尝试将一个 null 值赋给 int 类型的变量, 将会导致编译错误

  • Integer:作为对象类型,Integer 可以被赋值为 null 。这在某些情况下非常有用,例如当需要表示一个不存在的整数值时。

5、常量池

Java为 Integer 类型提供了一个常量池(Integer Cache),用于缓存-128到127之间的整数对象。当创建这些范围内的 Integer 对象时,Java会返回常量池中已经存在的对象引用,而不是创建一个新的对象。这可以节省内存并提高性能。

6、总结

Integer 和 int 在Java中有着不同的用途和特性。

1、int 是基本数据类型,直接存储数值,占用内存较小;

2、而 Integer 是 int 的包装类,是一个对象,需要额外的内存来存储对象的元数据。

3、通过自动装箱和拆箱机制,Java允许在基本数据类型和其包装类型之间自动转换。

4、此外,Integer 可以被赋值为 null,而 int 则不能。

在这里插入图片描述


💖The End💖点点关注,收藏不迷路💖

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/27876.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

leetcode LRU 缓存

leetcode: LRU 缓存 LRU 全称为 Least Recently Used,最近最少使用,常常用于缓存机制,比如 cpu 的 cache 缓存,使用了 LRU 算法。LRU 用于缓存机制时,关键的是当缓存满的时候有新数据需要加载到缓存的,这个…

自动化测试断言

自动化判断测试用例的执行的结果是否成功,是通过判断测试得到的实际结果与预期结果是否相等决定的。这个时候就用到了断言。 检查点分为两个,一个是页面级别的检查,包括网页的标题和网址,以及是否包含某个文字 另一个检查点是页…

CSS从入门到精通——动画:CSS3动画延迟和完成后状态的保持

目录 任务描述 相关知识 动画状态 动画完成时的状态 动画延迟 编程要求 任务描述 本关任务:用 CSS3 实现小车等待红绿灯的效果。效果图如下: 相关知识 为了完成本关任务,你需要掌握:1.动画状态,2.动画完成时的状…

[Cloud Networking] SPDY 协议

文章目录 1. 背景2. SPDY 之前3. SPDY 项目目标4. SPDY 功能特点4.1 SPDY基本功能4.2 SPDY高级功能 1. 背景 TCP是通用的、可靠的传输协议,提供保证交付、重复抑制、按顺序交付、流量控制、拥塞避免和其他传输特性。 HTTP是提供基本请求/响应语义的应用层协议。 不…

Linux下的串口通信

串口通信 基础知识: 什么是串口? 串口全称串行通信接口,是一种常用于电子设备之间通信的异步,全双工接口,典型的串口通信只需要 3 根线,分别是地线 (GND),发送线(TX),接收线(RX)。如…

【react小项目】bmi-calculator

bmi-calculator 目录 bmi-calculator初始化项目01大致布局01代码 02完善样式02代码 03输入信息模块03代码 04 使用图表04代码 05详细记录信息渲染05代码 06 让数据变成响应式的06-1输入框的数据处理06-2图表,和记录信息的区域数据处理 07 删除功能,撤销功…

基于C#开发web网页管理系统模板流程-主界面统计功能完善

点击返回目录-> 基于C#开发web网页管理系统模板流程-总集篇-CSDN博客 前言 紧接上篇->基于C#开发web网页管理系统模板流程-主界面管理员入库和出库功能完善_c#web程序设计-CSDN博客 统计功能是管理系统很常见的功能,例如仓库管理系统要统计某时间段的出入库以…

QT信号与槽/窗口组件优化/使用QT制作QQ登录界面

使用手动连接,将登录框中的取消按钮使用第二中连接方式,右击转到槽,在该槽函数中,调用关闭函数 将登录按钮使用qt4版本的连接到自定义的槽函数中,在槽函数中判断u界面上输入的账号是否为"admin",…

永磁同步直线电机(PMLSM)控制与仿真3-永磁同步直线电机数学三环控制整定

文章目录 1、电流环参数整定2、速度环参数整定3、位置环参数整定 写在前面:原本为一篇文章写完了永磁同步直线电机数学模型介绍,永磁同步直线电机数学模型搭建,以及永磁同步直线电机三环参数整定及三环仿真模型搭建,但因为篇幅较长…

HTML前端

html 超文本标记语言 文本&#xff1a;文字字符 超文本&#xff1a;网页内容 标记&#xff1a;标签 标识 提供许多标签&#xff0c;不同标签功能不同&#xff0c;网页就是通过这些标签描述出来的&#xff0c;最终由浏览器解释运行我们看到的网页 <!-- html注释<!DO…

C++ 50 之 继承中的对象模型

继承中的对象模型 在C编译器的内部可以理解为结构体&#xff0c;子类是由父类成员叠加子类新成员而成&#xff1a; #include <iostream> #include <string> using namespace std;class Base03{ public:int m_a; protected:int m_b; private:int m_c; // 哪怕是…

lua对接GPT4实现对话

演示效果&#xff1a; 准备材料&#xff1a; 1、FastWeb网站开发服务&#xff1a;fwlua.com 2、一台服务器 该示例使用开源项目&#xff1a;fastweb 实现。 代码比较简单&#xff0c;主要是两部分&#xff0c;一个lua代码和一个html页面&#xff0c;用来用户发起请求和后台…

面向事件编程之观察者模式

前言 村里的老人常说&#xff1a;真男人就该懂得遵守“三不原则”——不主动、不拒绝、不负责。 一个复杂的软件系统&#xff0c;其中必然会存在各种各样的“对象”&#xff0c;如果在设计之初没有注意控制好耦合度&#xff0c;导致各个对象甚至是函数之间高度耦合&#xff0…

网络安全知识全景地图V1.0 - 20240616更新

网络安全领域的知识全景涵盖了从基础概念到高级技术的广泛内容。博主基于自身十年多的工作经验结合CISSP认证官方教材按照不同的主题和层次梳理出如下高层次的概览地图&#xff0c;可以帮助个人和组织理解网络安全领域的主题。 1.1. 基础理论 1.1.1. 网络安全概述 网络安全的…

React@16.x(29)useRef

目录 1&#xff0c;介绍2&#xff0c;和 React.createRef() 的区别3&#xff0c;计时器的问题 目前来说&#xff0c;因为函数组件每次触发更新时&#xff0c;都会重新运行。无法像类组件一样让一些内容保持不变。 所以才出现了各种 HOOK 函数&#xff1a;useState&#xff0c;u…

Camtasia Studio 2024软件最新版下载【安装详细图文教程】

​Camtasia是美国TechSmith公司出品的一款集电脑屏幕录制、视频剪辑为一体的软件套装。同时包含Camtasia 录制器、Camtasia Studio&#xff08;编辑器&#xff09;、Camtasia 菜单制作器、Camtasia 剧场、Camtasia 播放器和Screencast的内置功能。 安 装 包 获 取 地 址&#x…

AirPlay技术规范及认证资讯

AirPlay是Apple开发的一种无线技术&#xff0c;允许用户将音频、视频或图片从iOS设备、Mac电脑或其他支持AirPlay的设备无线传输到支持AirPlay的接收器设备上&#xff0c;例如智能电视或音响系统。这项技术基于Wi-Fi网络&#xff0c;提供了一种便捷的方式来共享媒体内容。AirPl…

车票信息的请求与显示

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 1 发送与分析车票信息的查询请求 得到了获取车票信息的网络请求地址&#xff0c;然后又分析出请求地址的必要参数以及车站名称转换的文件&#xff…

《软件测试52讲》——测试基础知识篇

1 你真的懂测试吗&#xff1f;从“用户登录”测试谈起 从“用户登录”测试谈起&#xff0c;“用户登录”功能作为测试对象 作为测试工程师&#xff0c;你的目标是要保证系统在各种应用场景下的功能是符合设计要求的&#xff0c;所以你需要考虑的测试用例就需要更多、更全面。 …

2078.两栋颜色不同且距离最远的房子

街上有 n 栋房子整齐地排成一列&#xff0c;每栋房子都粉刷上了漂亮的颜色。给你一个下标从 0 开始且长度为 n 的整数数组 colors &#xff0c;其中 colors[i] 表示第 i 栋房子的颜色。 返回 两栋 颜色 不同 房子之间的 最大 距离。 第 i 栋房子和第 j 栋房子之间的距离是 a…