文件处理和Arraylists错误

时间:2014-04-09 17:15:56

标签: java file-io arraylist

我正在尝试将文本文件"ListOfElectronics.txt"中的短语列表添加到ArrayList "electronics"

我在这里收到错误:electronics.add(fileIn.nextLine());

这是"no suitable method found for add(java.lang.String)"

import java.util.Scanner;
import java.util.ArrayList;
import java.io.*;

/***
 * 
 * 
 * 
 */
public class Driver
{
    public static void main(String[] args)
    {
        System.out.println("\f");

        ArrayList<Electronics> electronics = new ArrayList<Electronics>();

        Scanner stdIn = new Scanner(System.in);
        Scanner fileIn;

        try
        {
            fileIn = new Scanner(new FileReader("ListOfElectronics.txt"));

            while (fileIn.hasNextLine())
            {
                electronics.add(fileIn.nextLine());
            }

            fileIn.close();
        }
        catch (FileNotFoundException e)
        {
            System.out.println("Error: " + e.getMessage());
        }

    }
}

2 个答案:

答案 0 :(得分:1)

替换

ArrayList<Electronics> electronics = new ArrayList<Electronics>();

ArrayList<String> electronics = new ArrayList<>();

否则,它希望您添加一个名为Electronics的类的对象。

如果您有一个名为Electronics的课程,那么您希望将其添加到Arraylist中,如果它有一个要求String的构造函数,则可以替换该添加字符串:

electronics.add(new Electronics(fileIn.nextLine()));

答案 1 :(得分:0)

如果您的电子课程看起来像这样

public class Electronics {  
   private string name;

   public Electronics(String name) {
      this.name = name;
   }
}

然后你可以替换:

while (fileIn.hasNextLine())
        {
            electronics.add(fileIn.nextLine());
        }

while (fileIn.hasNextLine())
        {
           Electronics electronics = new Electronics(fileIn.nextLine();
           electronics.add(electronics);
        }