数组列表中的方法添加<ClassName>不适用于参数(字符串)



我正在尝试读取一个.txt文件,其中包含几行,每行中都有一位专业carrer的名字。我已经创建了一个扫描仪,但每当我想添加扫描仪刚刚读取的内容并尝试将其添加到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只有两个属性,但我想将它们添加到列表中,只填充一个String元素,另一个为空(这可能吗?)

s.nextLine()返回一个String。但是您的ArrayList具有泛型类型Claseqla。您需要使用从s.nextLine()调用中获取的字符串创建一个Claseqla对象,然后将该对象添加到ArrayList中。

我想你是想说类Clasekla有两个属性。如果是这样,那么您可以创建一个Clasekla对象,并使用s.nextline()设置其中一个属性的值

while(s.hasNextLine())
{
    Claseqla cq = new Claseqla();
    cq.setCareer(s.nextLine());
    clista.add(cq);
}

这意味着在Clasekla类中有一个名为"职业(字符串)"的属性,该属性具有相应的setter函数。

最新更新