当我尝试将数据从textfile移动到arraylist时,我在行data.add(row)上得到错误; (找不到合适的方法)我该如何解决?如果我想用它来填充java jtable(swing),那么使用arraylist是个好主意吗?
public ArrayList<String> getinformationforthetable() {
Scanner s = null;
ArrayList<String> data = new ArrayList<String>();
try {
s = new Scanner(new File("info.txt"));
while (s.hasNextLine()) {
String line = s.nextLine();
if (line.startsWith("")) {
String[] atoms = line.split("[#]");
ArrayList<String> row = new ArrayList<String>();
row.add(atoms[0]);
row.add(atoms[1]);
row.add(atoms[2]);
row.add(atoms[3]);
row.add(atoms[4]);
row.add(atoms[5]);
data.add(row);
}
}
}
catch(IOException e) {
e.printStackTrace();
}
finally {
if (s != null) {
s.close();
}
}
return data;
}
}
答案 0 :(得分:5)
此错误是由于您的数据数组列表是字符串的数组列表
ArrayList<String> data = new ArrayList<String>();
并且您正在尝试向其添加另一个数组列表。你应该把它改成
List<List<String>> data = new ArrayList<List<String>>();
希望这有帮助。
答案 1 :(得分:4)
您正在尝试将List值添加为String。它不允许添加。列出具有addAll()的默认方法,以将列表值添加到mainList
中data.add(row);
而不是
data.addAll(row);
答案 2 :(得分:3)
data
被视为期待String
值,但您正在为其添加ArrayList
String
...
ArrayList<String> data = new ArrayList<String>();
//...
ArrayList<String> row = new ArrayList<String>();
data.add(row);
根据您想要实现的目标并基于示例代码,您应该执行更多类似...
的操作ArrayList<ArrayList<String>> data = new ArrayList<ArrayList<String>>();
如果您希望能够将row
ArrayList
添加到data
ArrayList
...