メソッド呼び出しまたは から文字列オブジェクトを取得した場合StringBuilder.toString()
、この文字列は文字列プールに追加されますか?
String はクラスのロード中にのみプールに追加されますか?
メソッド呼び出しまたは から文字列オブジェクトを取得した場合StringBuilder.toString()
、この文字列は文字列プールに追加されますか?
String はクラスのロード中にのみプールに追加されますか?
メソッド呼び出しまたは StringBuilder.toString() から文字列オブジェクトを取得しましたが、この文字列は文字列プールに追加されますか?
StringBuilder.toString()
--> (作成して) ヒープ上にある文字列を返します (文字列定数プールではありません)。
メソッドで行うreturn "hi"
と、文字列定数プールの hi の参照が返されます。
文字列に対してintern()を呼び出すことにより、実行時に文字列を文字列定数プールに追加できます。
intern()
オブジェクトを呼び出すことができString
ます。これにより、String オブジェクトがまだ存在しない場合はプールに配置され、プールされた文字列への参照が返されます。(すでにプールにあった場合は、既に存在していたオブジェクトへの参照を返すだけです)。