基本数据类型和包装类型的 == 与 equals 的根本性区别(坑人小彩蛋)
最新推荐文章于 2024-05-20 12:40:57 发布
本文揭示了Java中==和equals的区别。虽然通常认为==比较对象的地址,equals比较值,但实际情况更为复杂。对于基本数据类型,两者都比较值。然而,对于包装类型如Integer,在一定范围内,==也会比较值,这是因为Integer内部的缓存机制。对于浮点数包装类Float和Double,==总是比较地址,若要比较值需转换为LongBits。对于String,==比较地址,equals比较内容。总之,引用类型和包装类型建议使用equals进行值比较。
摘要由CSDN通过智能技术生成