一尘不染

字符串数组的ArrayList

java

我想做这样的事情:

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

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


阅读 339

收藏
2020-12-03

共1个答案

一尘不染

对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[]>();

将工作。

2020-12-03