1

Java のオブジェクト参照に興味があります。Person オブジェクトがあるとします。

Person object = new Person("Joe");

私はそれをArrayList<Person>

ArrayList<Person> person_collection = new ArrayList<Person>();
person_collection.add(object);

の新しいコレクションをPerson再度作成し、のアイテムをコピーしますperson_collection

ArrayList<Person> collection = new ArrayList<Person>(person_collection);

私がアイテムを手に入れたらcollection

Person p = collection.get(i);

pへの参照がありますかperson_collection ??

4

2 に答える 2

1

この場合、pは初期化ステップで少なくとも のすべての要素を含みperson_collectionます。

Personしたがって、この新しく作成されたコレクションを直接反復すると、最初のコレクションに含まれる要素と同じ要素が取得されます。

ところで、Java は参照渡しを使用せず、常に値渡しメソッドを使用するため、参照自体は同じではありませんが、実際には同じオブジェクトを指すことを妨げません。

于 2012-11-07T01:00:34.050 に答える
0

はい、Person "object" 変数参照は Person "p" variable に返されます。

person_collection と collection は、p を指すオブジェクトを含む 2 つの異なるコレクションを参照します。

于 2012-11-07T01:01:10.883 に答える