我创建了一个读取包含以“;”分隔的数字的文件的方法,问题是arraylist的类型不是字符串,所以还有其他方法可以将文件的内容放入其中arraylist而不将其类型更改为字符串?我也有一个类,它是arraylist的类型,我还没有填写。
public void loadData(String fileName,ArrayList<Records> collection);
{
Scanner myFile = new Scanner (new File(fileName)).useDelimiter(";");
String token = "";
while(myFile.hasNext()) {
token = myFile.next();
collection.add(token);
}
myfile.close()
}
class Records{
}
答案 0 :(得分:2)
Records
与String
不兼容,除非您对其进行扩展(在这种情况下,因为String
为final
是不可能的)。如果定义List<Records>
,则只能添加Records
的子类型。
要将Records
的新实例添加到集合中,必须首先有一种方法来解析String
并从中创建Records
的新实例:
class Records {
public Records(String string) { /* your implementation */ }
}
然后您这样做:
String token = "";
while (myFile.hasNext()) {
token = myFile.next();
collection.add(new Records(token));
}