3

メソッド呼び出しまたは から文字列オブジェクトを取得した場合StringBuilder.toString()、この文字列は文字列プールに追加されますか?

String はクラスのロード中にのみプールに追加されますか?

4

2 に答える 2

8

メソッド呼び出しまたは StringBuilder.toString() から文字列オブジェクトを取得しましたが、この文字列は文字列プールに追加されますか?

StringBuilder.toString()--> (作成して) ヒープ上にある文字列を返します (文字列定数プールではありません)。

メソッドで行うreturn "hi"と、文字列定数プールの hi の参照が返されます。

文字列に対してintern()を呼び出すことにより、実行時に文字列を文字列定数プールに追加できます。

于 2015-01-12T14:04:05.053 に答える
5

intern()オブジェクトを呼び出すことができStringます。これにより、String オブジェクトがまだ存在しない場合はプールに配置され、プールされた文字列への参照が返されます。(すでにプールにあった場合は、既に存在していたオブジェクトへの参照を返すだけです)。

于 2015-01-12T14:05:31.510 に答える