3

私はJavaにかなり慣れていません。

実行時に長さが変化する可能性のあるクラスの配列が必要です

コード:

class Num
{
  ......
  ......
}

Num が私のクラスの場合、新しいインスタンスを作成するにはどうすればよいですか。私の現在のコードは次のようにかなり似ています:

Num n[ ];
int length=0;
.
.
.
n[length++]=new Num();  

このコードから、エラーが発生しています:

"Uncompilable source code - variable factors might not have been initialized"
4

3 に答える 3

7

ArrayListこの目的でを使用できます。

ArrayList<Num> myListOfNum = new ArrayList<Num>();

そして、必要に応じてオブジェクトを追加し続けますNum

Num num1 = new Num();
myListOfNum.add(num1);
Num num2 = new Num();
myListOfNum.add(num2);

編集:

アクセスするget()には、特定のインデックスとともにメソッドを使用できます。

Num tempNum = myListOfNum.get(indexGoesHere);
于 2012-08-19T14:13:08.140 に答える
3

要素を設定する前に、まず配列自体を作成する必要があります。

 Num[] n = new Num[SIZE];

Num n[];type の変数をNum[]identifierで宣言しているだけであることに注意してくださいn

ただし、Java では、配列は固定長であることに注意してください。可変長配列を探している場合、配列はおそらく必要なものではありません。@KazekageGaara は代替案を提案しました-この目的のために。

于 2012-08-19T14:15:06.953 に答える
2

Javaコレクションを使用する

Listシーケンスがより重要な場合は良いでしょう。

Set一意性が重要な場合

Mapキーと値のペアが重要な場合

List<MyClass> arrList = new ArrayList<MyClass>();

arrList.add(mobj1);
arrList.add(mobj2);
arrList.add(mobj3);

for(MyClass m : arrList){

      // m is the Values of arrList stored in

 }
于 2012-08-19T14:29:02.140 に答える