我想做这样的事情:

private ArrayList<String[]> addresses = new ArrayList<String[3]>();

这似乎不起作用。在数组中为每个地址存储3个字段的多个地址而不为其创建单独的类的最简单方法是什么?

最佳答案

对3个字符串使用第二个ArrayList,而不是原始数组。就是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[3]>();


private ArrayList<String[]> addresses = new ArrayList<String[]>();

将工作。

10-07 19:05
查看更多