我在将字符串数组拆分为List / ArrayList时遇到问题。我意识到这是基本的东西,但是我看了很多例子,以至于现在我完全困惑正在发生的事情(或未发生的事情)。

一些代码片段:

private String[] stringTempList;
private ArrayList<List<String>> arrayImageList = new ArrayList<List<String>>();


我的列表是从网页上读取的,格式为纯文本,例如:['一个','两个','三个'等...]

因此,以下几行内容将我想要/不想要的内容删除(注意-我将这些内容分离出来,以帮助我按照流程进行操作):

stringExtractedList = stringText.substring(stringText.indexOf("['") + 2,
                stringText.lastIndexOf("']"));
stringTempList = stringExtractedList.split("','");


从我可以看到的结果来看,上述方法可以按预期工作(创建一个数组(stringTempList),在看到','的地方拆分出每个项目)。

哪里出错了:

arrayImageList.add((List<String>) Arrays.asList(stringTempList));


我希望这行代码可以将我的数组(stringTempList)移到ArrayList中。我希望使用类似于arrayImageList.get(i);的代码来访问单个元素。

但是,上面的代码似乎将所有项添加到arrayImageList的第一个索引中(列表大小始终为1)。运行某些调试测试(例如Log.d("Test", arrayImageList.get(0));)将返回以下内容:

[One,Two,Three,Four, etc...]


如果有人能指出我正确的方向,我将不胜感激。我想我在这里混淆了两种不同的想法。

最佳答案

将arrayImageList更改为字符串列表:

private ArrayList<String> arrayImageList = new ArrayList<String>();


并使用addAll方法添加它们:

arrayImageList.addAll((List<String>) Arrays.asList(stringTempList));

09-26 06:56