当前位置:网站首页>五、int和Integer有什么区别?
五、int和Integer有什么区别?
2022-08-03 05:24:00 【世宇同学】
一.基本使用对比
int是基本数据类型,作为成员变量的时候默认值为0。
Integer是int的包装类,作为成员变量的时候默认值为null。
int不需要实例化可以直接使用,Integer需要实例化以后才可以使用。
int是直接存放数值的,而Integer是对对象的引用。
二.比较大小处理(使用==)
一般是比较相同的数:
1.一个int和一个Integer:
int a=5;
Integer b=5;
a==b;//trueInteger对象会自动拆箱和int数据比较大小。返回true。
2.两个new出来的Integer:因为都是new出来的对象,所以实际上是两个不同的对象,不相等。返回false。
Integer a=new Integer(5);
Integer b=new integer(5);
a==b;//false3.一个new一个不new:实际上还是对象的比较,应为不同的对象是不相等。返回false;
Integer a=5;
Integer b=new Integer(5);
a==b;//false4.两个都不new
第一种情况:值在-128-127之间,返回true
Integer a=5;
Integer b=5;
a==b;//true第二种情况:值不在以上范围之间,返回false
Integer a=300;
integer b=300;
a==b;//false原因:当数值在-128-127之间的时候,Integer a=5;会翻译成为Integer i = Integer.valueOf(5)。而java API中对Integer类型的valueOf的定义如下,对于-128到127之间的数,会进行缓存,Integer a=5时,会将5进行缓存,下次再写Integer b= 5时,就会直接从缓存中取,就不会new了。
边栏推荐
猜你喜欢

ZEMAX | 如何倾斜和偏心序列光学元件

微信小程序 自定义tabBar

Qlik Sense 聚合函数及范围详解(Sum、Count、All、ToTaL、{1})

ZEMAX | 如何创建简单的非序列系统

自监督论文阅读笔记 Ship Detection in Sentinel 2 Multi-Spectral Images with Self-Supervised Learning

A.1#【内存管理】——1.1.3 page: struct page

MATLAB自带的dwt2和wavedec2函数实现基于小波变换的自适应阈值图像边缘检测

电子元器件之电子变压器可分为哪几类?

交叉熵(第六周)

什么是参数化设计,通过实操了解一下? | SOLIDWORKS 操作视频
随机推荐
Qlik Sense 判空详解(IsNull)
C# 数组之回溯法
ZEMAX | 绘图分辨率结果对光线追迹的影响
关于芯片你了解吗?
ZEMAX | 如何倾斜和偏心序列光学元件
二阶段提问总结
贴片电阻的结构是怎样的?唯样商城
自监督论文阅读笔记DisCo: Remedy Self-supervised Learning on Lightweight Models with Distilled Contrastive
电子元器件之电子变压器可分为哪几类?
003_旭日X3派初探:利用无线串口通信控制舵机
HANA 常用数据类型详解
对象の使用
自监督论文阅读笔记 Incremental-DETR:Incremental Few-Shot Object Detection via Self-Supervised Learning
opencv透视变化
double型数据转字符串后通过MCU串口发送
c#,.net 下载文件 设置断点
观看华为AI技术领域课程--深度学习前三章总结
MCU接收串口字符型数据转换成数据型数据
VSCODE 常见问题
ZEMAX | 在设计抬头显示器(HUD)时需要使用哪些工具?