まずリテラルで作ったオブジェクトが同一(同じアドレス)である事を期待するのが間違い
むしろ一致することがある、ってのが実装依存の例外
文字列だってインターン(保存しといて使いまわし)しなければ同一オブジェクトを指さない