专栏名称: 猿大侠
猿大侠,既然选择了,就一定成为大侠! 小程序、小游戏、Google、苹果、职场、前沿技术分享,一起成长。
今天看啥  ›  专栏  ›  猿大侠

新手常踩的坑,为啥 1000 == 1000 是 false?

猿大侠  · 公众号  ·  · 2023-12-22 12:08

文章预览

前言 今天跟大家聊一个有趣的话题,在Java中两个Integer对象做比较时,会产生意想不到的结果。 例如: Integer a =  100 ; Integer b =  100 ; System.out.println(a==b); 其运行结果是:true。 而如果改成下面这样: Integer a =  1000 ; Integer b =  1000 ; System.out.println(a==b); 其运行结果是:false。 看到这里,懵了没有? 为什么会产生这样的结果呢? 1 Integer对象 上面例子中的a和b,是两个Integer对象。 而非Java中的8种基本类型。 8种基本类型包括: byte short int long float double boolean char Integer其实是int的包装类型。 在Java中,除了上面的这8种类型,其他的类型都是对象,保存的是引用,而非数据本身。 Integer a =  1000 ; Integer b =  1000 ; 可能有些人认为是下面的简写: Integer a =  new  Integer( 1000 ); Integer b =  new  Integer( 1000 ); 这个想法表面上看起来是对的,但实际上有问 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览