2
String s=new String ("happy");

上記の例では、2つのオブジェクトを作成します。ポインタ参照はどのオブジェクトを指しますか?

解決済み:2つのオブジェクトが作成されました:( "happy")およびhappy.pointer sは( "happy")を指します。

4

2 に答える 2

2

javadocに従って

つまり、新しく作成された文字列は、このテキストに基づく引数文字列のコピーです。オリジナルの明示的なコピーが必要でない限り、文字列は不変であるため、このコンストラクターを使用する必要はありません。

したがって、参照は新しく作成された文字列を指します。

于 2012-12-02T04:40:09.620 に答える
0

文字列は不変です。つまり、String のインスタンスは変更できません。別のまだ不変の String インスタンスを参照する新しい変数を作成しています。

文字列への変更を変更リストの種類のメソッドで元の文字列から分岐させることができます

String s = new String("happy");

String オブジェクト ("happy") が作成されます。そして、変数sはその新しく作成されたオブジェクトを参照します。

于 2012-12-02T04:42:16.610 に答える