首页 > 解决方案 > 我可以将文件放入没有字符串类型的数组列表中吗?

问题描述

我创建了一个读取包含用“;”分隔的数字的文件的方法,问题是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{


}


标签: javaarraylist

解决方案


Records不兼容,除非你扩展它(在这种情况下这String是不可能的,因为Stringis 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));

}

推荐阅读