【初心者】 Java質問・相談スレ29 【大歓迎】
■ このスレッドは過去ログ倉庫に格納されています
0109デフォルトの名無しさん
NGNGString x = "a" + "b";
String y = "ab";
とおなじソースに書いた場合、x.equals(y) が true になるのは当たり前だが
x == y も true になるのを知らないだろ?
これが ("a" + "b").intern() == "ab" が true になることが規定されているという意味だ。
ちなみにコンパイラによる最適化によってたまたま x == y になるのではない。
Java 仮想マシン仕様によってそうならないといけないと規定されている。
■ このスレッドは過去ログ倉庫に格納されています