我正在尝试读取一个.txt文件,其中包含几行,每行都有一个专业的carreer名称。我已经创建了一个扫描仪,但每当我想添加扫描仪刚刚读取的内容并尝试将其添加到arrayList时,就会弹出此错误
ArrayList类型中的方法add(ClassName)不适用于参数(String)
ArrayList<Claseqla> clista = new ArrayList<Claseqla>();
Scanner s = new Scanner(new File("texto.txt"));
while(s.hasNextLine())
{
**clista.add(s.nextLine());**
}
这是另一个类中的一段代码;
粗体标记的行是弹出错误的位置。
clista
只有2个属性,但我想将它们添加到列表中,只填充一个String元素,另一个为空(这是否可能?)
答案 0 :(得分:2)
s.nextLine()
返回String
。但是您的ArrayList
具有通用类型Claseqla
。您需要使用从Claseqla
调用中获取的字符串创建s.nextLine()
对象,然后将该对象添加到ArrayList
。
答案 1 :(得分:1)
我想你是想说Claseqla这个类有2个属性。如果是这样,那么您可以创建一个Claseqla对象并使用s.nextline()
设置其中一个属性的值。while(s.hasNextLine())
{
Claseqla cq = new Claseqla();
cq.setCareer(s.nextLine());
clista.add(cq);
}
这是因为你的Claseqla类中有一个名为career(String)的属性及其各自的setter函数。