java中的"=="

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hgxbra/article/details/58596376

Java中如果使用 == 双等于比较对象,等于比较的是两个对象的内存地址,也就是比较两个对象是否是同一个对象

但是Integer类型, 对于-128-127之间的数是缓冲区取的,所以用等号比较是一致的。但对于不在这区间的数字是在堆中new出来的, 地址空间不一样,也就不相等。所以,以后碰到Integer比较值时,最好不要偷懒直接用 == , 而需要用intValue(),或equals()

equals() 比较对象中所包含的内容是否相同

猜你喜欢

转载自blog.csdn.net/hgxbra/article/details/58596376