web-dev-qa-db-ja.com

クラスコンストラクターにパラメーターがある場合、Java=で配列を初期化する方法は?

私はこのクラスコンストラクタを持っています:

public Category(int max){
...
}

事は、私はこのクラスの配列を作りたい、それをどのように初期化するのですか?

private Category categories = new Category(max)[4];

動作しません。

[〜#〜]更新[〜#〜]

このようなことをする必要がありますか?

private Category[] categories = new Category[4];

そして、各オブジェクトを初期化しますか?

11
Moises Jimenez

配列を作成するときは、カテゴリの配列を作成します。これは配列のインスタンスです。

配列にCategoryオブジェクトを入力するときは、その時点でCategoryにConstを使用します。

Category [] categories = new Category[4];
categories[0] = new Category(10);
17
DarthVader

インラインで行うこともできます。配列を作成し、コンストラクタで開始した値を一度に入力します。 2つのパラメーターを取るコンストラクターを持つフィールドと呼ばれるクラスがあり、これらの配列を構築したいとします...

Field[] fields = new Field[]{
    new Field(1, "Record_Type"),
    new Field(3, "Record_SubType"),
    new Field(6, "Row_Number"),
    ...
};
7
Mr. Napik
private Category[] categories = new Category[4];

4つのnullカテゴリでインスタンス化されます。後で自分でコンテンツを入力する必要があります。
または、以下をお試しください:

private Category[] categories = {new Category(max), new Category(max), new Category(max), new Category(max)};

最初に配列として初期化します

Category[] categories = new Categories[4];
categories[0] = new Category(max);

次に、各要素を初期化します。

3
Mike McMahon