java - Java中的拆箱和装箱,但感觉有些奇怪
问题描述
Integer a1=164;
Integer a2=164;
System.out.println(a1==a2);
System.out.println(a1.equals(a2));
Integer a3=new Integer(164);
Integer a4=new Integer(164);
System.out.println(a3==a4);
System.out.println(a3.equals(a4));
This outputs as -
false
true
false
true
但是,输入略有不同的相同代码以不同的方式工作
Integer a1=64;
Integer a2=64;
System.out.println(a1==a2);
System.out.println(a1.equals(a2));
Integer a3=new Integer(64);
Integer a4=new Integer(64);
System.out.println(a3==a4);
System.out.println(a3.equals(a4));
This outputs as -
true
true
false
true
我确信在某个地方,拆箱的概念正在跟我玩,但我无法弄清楚这一点。提前致谢。
PS我不确定我们是否有类似的问题,我没有找到。
解决方案
推荐阅读
- java - Spring boot 中的条件 JSON 请求映射
- sql - 添加行而不插入
- sharepoint - SP2019 混合共享/专用 Minroles
- python - 对于上传的 python zip 包,Python AWS Glue 日志显示“考虑将不带前缀的文件作为 python 额外文件”
- c# - 如何在 C# 中使用 Ionic-zip 下载大文件时修复 zip 文件损坏错误
- python - 比较熊猫数据框中的两列
- php - 如何在while循环中将3d数组中的一些值放入一个新数组中
- python - 如何获取未来时间的 datetime.now().isoformat()?
- javascript - Javascript 的新 Date(datestring) 不一致
- sql - 在coldfusion中合并两个查询