2016-11-05 5 views
0

私は、Personオブジェクト用に定義された配列リストを持つコンテナクラスを持っています。ArrayListに追加するときにオブジェクトに与える名前

プログラムを使用している人に人を登録するように求められ、オブジェクトPersonを作成し、ユーザーに入力した名前、姓、年齢を与えてからArrayListに追加する必要があります。

私の質問は、Personオブジェクトを作成するときに、追加するすべてのオブジェクトに同じ名前を付けることができますか?あるいは、私はそれらをperson1、person2などと名付ける必要がありますか?

もしそうなら、どうですか?

ありがとうございました

+0

私は本当になぜ私がdownvotedを得ている得るかわからない。これは価値があるのですか? – TiraULTI

+0

この質問への回答は、Javaに関するすべての書籍で読むことができます。基礎についての質問があるので、あなたは下降しています。独特な問題ではありません。 –

答えて

2

いいえ、別の名前を付ける必要はありません。そうすることで、実際にコレクションを使用する目的が無効になります。あなただけの、次の操作を行うことができます

Person p = new Person(...); 
// set name, age, etc. 
list.add(p); 

新しいPersonが作成され、リストに追加され、それを行うたびに。 pという名前は、破棄可能な一時変数として考えてください。

+0

私が理解しているかどうか見てみましょう。最初の人物を作成すると、pという名前のオブジェクトがArrayListに追加されます。 2番目の人物を入力すると、同じ名前の別のオブジェクトp(異なる名前、年齢、姓)が同じArrayListに追加されます。 ArrayListは内部的に同じ名前の複数のオブジェクトを持つことにどのように対処していますか? – TiraULTI

+0

@TiraULTI ArrayListは名前 'p'を保持しません。新しいオブジェクトを追加するたびに内部的に自身を作成し​​ます。 –

+0

素晴らしい!説明ありがとう。 – TiraULTI

0

あなたは名前で作業しません。メモリへのリンクを使用して作業します。たとえば、オブジェクトを作成するときは、new演算子を使用すると、オブジェクトのデータが格納されているメモリ部分へのリンクが取得されます。

あなたは

Person p = new Person()  
list.add(p) 
p = new Person()  
list.add(p) 

を書く場合は、アレイに別のオブジェクトへの2つのリンクを保存します。

関連する問題