当前位置:网站首页>五、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了。
边栏推荐
猜你喜欢

自监督论文阅读笔记 SimCLRV2 Big Self-Supervised Models are Strong Semi-Supervised Learners

自监督论文阅读笔记FIAD net: a Fast SAR ship detection network based on feature integration attention and self
![[frp intranet penetration]](/img/5c/ca18bef3e5fec279c19825ee93b34b.png)
[frp intranet penetration]

【第一周】深度学习和pytorch基础

MySQL 下载和安装详解

【HQL】(二) 查询使用正则表达式做列选择

block底层探索

pandoc -crossref插件实现markdwon文档转word后公式编号自定义

ZEMAX | 在 OpticStudio 中使用自由曲面进行设计

ZEMAX | 探究 OpticStudio 偏振分析功能
随机推荐
三分钟看懂二极管的所有基础知识点
稳压二极管的工作原理及稳压二极管使用电路图
队列方法接收串口的数据
进程间通信IPC - 信号量
Oracle null 有哪些注意事项【面试题】
关于芯片你了解吗?
关于梯度下降法的一些优化方法
block底层探索
中空编码器的作用——唯样商城
Qlik Sense 聚合函数及范围详解(Sum、Count、All、ToTaL、{1})
Qlik Sense 判空详解(IsNull)
自监督论文阅读笔记 Ship Detection in Sentinel 2 Multi-Spectral Images with Self-Supervised Learning
Qlik Sense 字符串截取和拼接详解(Left、Right、&)
东南亚跨境电商
中国水产养殖行业市场投资分析及未来风险预测报告2022~2028年
Makefile自动推导的简单例程
常见的电子元器件分类介绍-唯样商城
进程间通讯 (IPC 技术) - 信号
Phase Vocoder的补充完善,Matlab音频变速不变调、变调不变速
Gradle插件与代理服务器导致Sync Project失败的问题