我想做这样的事情:
private ArrayList<String[]> addresses = new ArrayList<String[3]>();
这似乎不起作用。最简单的方法是将多个地址(每个地址3个字段)存储在数组中而不为其创建单独的类,这是最简单的方法吗?
对3个字符串使用第二个ArrayList,而不是原始数组。就是 private List<List<String>> addresses = new ArrayList<List<String>>();
private List<List<String>> addresses = new ArrayList<List<String>>();
然后您可以拥有:
ArrayList<String> singleAddress = new ArrayList<String>(); singleAddress.add("17 Fake Street"); singleAddress.add("Phoney town"); singleAddress.add("Makebelieveland"); addresses.add(singleAddress);
(我认为这里的类型擦除可能会发生一些奇怪的事情,但我认为这并不重要)
如果您对使用原始数组一无所知,则只需进行较小的更改即可使示例工作。如其他答案所述,数组的大小不能包含在声明中。所以改变:
至
private ArrayList<String[]> addresses = new ArrayList<String[]>();
将工作。