多くの列 (22) を持つファイルを読み込んでおり、ファイルの読み取りに openCSV を使用しています。
各行は文字列配列として表されますnextLine[]
列を処理/検証する必要があり、列を数値として参照したくない (つまりnextLine[0]
... nextLine[22]
)
私はそれらを次のように参照したいと思いますnextLine[COLUMN_A] nextLine[COLUMN_B] ..etc.
私の最初のアプローチは、列挙型を使用してシングルトンを作成することです
public enum Columns {
INSTANCE;
public int COLUMN_A = 0;
....
public int COLUMN_X = 22;
}
次に、配列を次のように参照できます。
nextLine[Columns.INSTANCE.COLUMN_A]
質問
これは最善のアプローチでしょうか?すべての列に対して単純にゲッター/セッターを持つ別のモデルクラスがあり、列をインデックスとして表す別のクラス (シングルトン) を作成することは、追加の労力のように思われるため、疑問に思うだけです。
上記の例では、次のようなモデル クラスがあるとします。
public class Columns {
private String columnA;
public Columns (String columnA) {
this.columnA = columnA;
}
public void setColumnA(String columnA) {
this.columnA = columnA;
}
public String getColumnA() {
return this.columnA;
}
}
nextLine[columnA]
シングルトン列挙型クラスを作成するのではなく、どうにかして使用できますか?