方法add in ArrayList <classname>不适用于参数(String)

时间:2016-03-30 03:29:15

标签: java file text

我正在尝试读取一个.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元素,另一个为空(这是否可能?)

2 个答案:

答案 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函数。