Java 字符串比较结果为什么不同?把常量池、`==` 和 `equals()` 一次讲清很多 Java 初学者都会遇到这样的结果:两个看起来一样的字符串,用 `==` 有时是 `true`,有时却是 `false`。问题通常不在“字符串变了”,而在于常量池、堆对象以及 `==` 和 `equals()` 比较规则完全不同。把这三件事放在一起看,这类题和线上判等问题就不容易再踩坑。JavaElena2026-08-2240