Listが大好きでJavaBeanを作るのは嫌だったんでしょうか。
担当者が途中でギブアップして作れなくなってしまい、続きをなんとか作ってくれとお願いされ 渡されたソースがこんな感じだったそうです。
public class GyoumGamen1 {
public List<List> getData() {
List<List> list = new ArrayList<List>();
List subList1 = new ArrayList();
subList1.add(1);
subList1.add("ColumnDataA1");
subList1.add(2);
subList1.add("ColumnDataB1");
list.add(subList1);
List subList2 = new ArrayList();
subList2.add(1);
subList2.add("ColumnDataA2");
subList2.add(2);
subList2.add("ColumnDataB2");
list.add(subList2);
/* 中略 */
return list;
}
}
subList1とsubList2の要素を取得するときに、型がIntegerだったりStringだったりするのがNGということでは。
すみません。ふたつ質問
・夢のコラボレーションをしているのはどの辺ですか?
・貴方なら、どう設計するのが「正解」だと思いますか?
例えば、「行・列方向ともに可変長なCSVデータ」の簡易な表現方法として、
List<List>は割とよく使われるわけで。要は何をしたいか次第なので、一概に「これが正しい」という答えは決まらないんじゃないかなぁ、という印象を受けました。