今天刚好遇到这样的问题,别的不说,先上代码

public class TestInteger {

    public static void main(final String[] args) {
final Integer a = 500;
final Integer b = 500;
final Integer c = 100;
final Integer d = 100;
System.out.println("a=b :" + (a == b));
System.out.println("c=d :" + (c == d));
} }

大家看一下这一段代码,是不是很简单呢。大家心里也有答案了吧?好的,看一下我们运行之后的答案

a=b :false
c=d :true

是不是有点意外,这是为什么呢?来简单说一下这个

  • java中Integer类型对于-128-127之间的数是缓冲区取的,所以用等号比较是一致的。
  • 但对于不在这区间的数字是在堆中new出来的对象。所以地址空间不一样,也就不相等。

所以以后如果我们碰到这种需要怎么去比较两个integer里面的值呢。

Integer b3=60,这是一个装箱过程也就是Integer b3=Integer.valueOf(60)。以后碰到Integer比较值是否相等需要用intValue()。 这样才是比较两个值。如果没用就相当于两个对象的存储地址比较。

最新文章

  1. 12月5日PHPCMS替换主页
  2. HashMap,Hashtable,TreeMapMap
  3. 一个人的 ClojureScript 技术栈
  4. 优化后的 google提供的汉字转拼音类(针对某些htc等手机的不兼容情况)
  5. 学习OpenCV——BOW特征提取函数(特征点篇)
  6. apache配置常用模块
  7. MFC学习 socket
  8. MySQL监控工具-orztop
  9. 幻灯片(jquery实现)
  10. http协议分析工具
  11. 实现android activity之间的跳转
  12. git 查看某个文件的历史修改版本
  13. Day2_数字类型_字符串类型_列表类型_元组_字典_集合_字符编码_文件处理
  14. 浅谈JavaScript和DOM中的类数组对象
  15. 【Linux】查看系统位数
  16. [LeetCode] Special Binary String 特殊的二进制字符串
  17. 【C#复习总结】细说匿名方法
  18. MySQL 组提交(group commit)
  19. 用PHP纯手工打造会动的多帧GIF图片验证码
  20. SCRIPT5009: “Sys”未定义 部署.net ajax 解决方案

热门文章

  1. 2017/11/25 2D变换
  2. window.print()打印页面指定内容(使用iframe保证原页面不失效)
  3. 【Python】 系统配置/进程等信息查看 psutil
  4. .NET Core快速入门教程 3、我的第一个.NET Core App (CentOS篇)
  5. 【js Date】时间字符串、时间戳转换成今天,明天,本月等文字日期
  6. spring-boot-devtools
  7. 网站加速与Linux服务器防护
  8. python多进程并发redis
  9. 关于如何在mac系统上安装Git并在码市上建立项目
  10. Maven+SSM框架搭建【spring+springmvc+mybatis】