两个Integer ==和!=的比较,为何失效?

当数值不在 -128~127范围时就不会进行缓存操做,它会选择进行new integer()的操做。这样他们被分配到堆里面。【这个能够去查看integer.valueof()的源码】。在用==或者!=比较时,会比较地址,因此两个Integer比较失效了,但能够选择用equals比较或者转成int型再比较。
相关文章
相关标签/搜索