私はCとC#からJavaを学んでいますが、静的なオブジェクトリストを以下に示すよりも簡潔な方法で初期化することができないのだろうか?静的にオブジェクトを初期化する最も簡潔な方法リスト
本質的に単純な構造型であるため、Part
のコンストラクタを作成して繰り返し使用するのは面倒です。
class Widget {
private static class Part {
public String number;
public String description;
Part(String number, String description)
{
// a constructor just to initialize public fields? ugh
this.number = number;
this.description = description;
}
}
private static final List<Part> parts = List.of(
new Part("ABC", "Doo-hickey"), // < seems overwrought
new Part("DEF", "whadjamacalit"),
new Part("HIJ", "thing-a-ma-bob"),
// ...
);
// ...
}
文字列を配列に配置し、ループ内にパーツを作成することができます。 – khelwood
実行時にリストを変更する予定がない場合は、 'Enum'を使うことができます。 – Izruo