「false」はどのように返されますか?私が理解から連結された文字列と文字列全体の比較はfalseを返します。
String a = "123";
a = a + "456";
String b = "123456";
System.out.println((a == b));
、
- 文字列「123」は文字列プール内に作成し、プールやで作成し、さらに「123456」で作成された「」
- 文字列「456」に割り当てられていますプールと 'a'が参照を開始します。
- 値「123456」に対して「b」が作成された場合。 JVMはStringプール内の既存のString "123456"を検出し、 "b"もそれを参照します。
したがって、trueを返します。
どこが間違っていますか?
回答は 'A'は'最終的なものならば真であろうと、ここでhttps://stackoverflow.com/a/14123474/2122457 –
です'変数、ええ、' String'プールに格納しますが、これは – SomeJavaGuy
https://stackoverflow.com/questions/45165496/java-string-concatenation-and-interningですか? –