为什么Java中1000==1000为false而100==100为true?
2023-04-21 阅读 74
这是因为Java中的整数是对象,而对象的比较是基于对象的引用而非值。在Java中,对于整数类型,如果两个整数值在-128到127之间,则它们被认为是相等的,因为这些整数值被缓存为对象,它们的引用是相同的。但是,对于大于127或小于-128的整数,它们不会被缓存,因此它们的引用不同,即使它们的值相同,比较结果也会是false。
因此,当你在Java中比较1000和1000时,它们的引用不同,因此比较结果为false。而当你比较100和100时,它们的引用相同,因此比较结果为true。
更新于 2023年04月23日