2017-06-16 10 views
-1

我々が使用する:作成時に新しいオブジェクトに格納される値は何ですか?

String s = new String("abc"); 

Stringオブジェクトを作成します。

sはスタックに格納され、新しいオブジェクトを参照し、リテラルが文字列定数プールにある間に新しいオブジェクトがヒープで作成されます。

ここで問題となるのは、新しいオブジェクトの値が文字列プール定数の "abc"というメモリの参照を持つか、 "abc"を値として持ちますか?

+0

あなたが求めていることは私には分かりません。 's'が定数プール内のオブジェクトへの参照になるかどうか尋ねていますか? –

+0

詳細を教えてください。 –

+0

@ Yohannes新しい演算子で作成されたオブジェクトがリテラルabcを指しているか、abcがその値になるかどうかを尋ねたがっています。 – Javasist

答えて

1

我々はString constructorを見ることができます。元の文字列のvalueがコピーされませんので、新しく作成された文字列と​​の両方が同じ文字の根底にある配列を参照すること

public String(String original) { 
    this.value = original.value; 
    this.hash = original.hash; 
} 

お知らせ。

関連する問題