java - 我可以将文件放入没有字符串类型的数组列表中吗?
问题描述
我创建了一个读取包含用“;”分隔的数字的文件的方法,问题是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{
}
解决方案
Records
不兼容,除非你扩展它(在这种情况下这String
是不可能的,因为String
is 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));
}
推荐阅读
- postman - Why does Postman change saved API requests
- javascript - 图片加载失败
- python - 计算字符串中小写和大写字母数量的Python函数
- javascript - TS 节点:找不到源文件
- visual-studio-code - 在 VS Code 上,为什么它会在配置 JS 文件中的每个冒号处告诉我,我应该使用分号?
- javascript - 如何在 componentDidMount 函数中调用异步函数?
- laravel - 在 Eloquent 中,“with”如何导致多个查询
- python - 如何使用 PyWavelets 读取图像?
- excel - 如何在单个 Excel 单元格中解析具有相同名称和列表的 XML 节点值
- firebase - 无法将数据发布到 Firebase