-9

请帮忙。我不能让它工作:

List<AddNewClientSaveAction> data = new ArrayList<AddNewClientSaveAction>();
// AddNewClientSaveAction is a class that collects user input from a number of JTextField values
String line;
            final String lastEntryClient = "LAST_ENTRY";

            while ((line = br.readLine()) != null) {
                if (line.startsWith(lastEntryClient)) {
                    data.add(lastEntryClient);
                }
            }

我正在尝试将字符串“lastEntryClient”添加到 ArayList“数据”,但我不断收到代码错误突出显示。

对不起,如果它太明显了。我是 JAVA 的新手。

4

4 回答 4

3

如果您将列表声明为

 ArrayList data = new ArrayList();

然后您会收到有关参数化列表的消息,因为数据可以包含任何Object

如果您知道您将只在列表中添加字符串,请将其声明为

 ArrayList<String> data = new ArrayList<String>(); // pre java 7
 ArrayList<String> data = new ArrayList<>(); // valid for java 7
于 2013-08-12T12:15:04.663 回答
2

你可以做这样的事情

   List<String> data = new ArrayList<>();// this is for java 7 and won't compile in previous versions.

    while ((line = br.readLine()) != null) {
        if (line.startsWith(lastEntryClient)) {
            data.add(line);
        }
    }

用于List<String> data = new ArrayList<String>()java 7 之前的版本

于 2013-08-12T12:27:40.797 回答
1

是什么AddNewClientSaveAction?通过使用它,您正在创建一个准备接受该特定类的对象的列表。但是您正试图将 String 对象传递给它。你真正想要哪个?

听起来您想要一个字符串类型的列表:

List<String> data = new ArrayList<String>();

要么这样,要么不向其中添加 String 对象,而是从 AddNewClientSaveAction 类中添加一些东西。如果不了解您的代码,很难知道您想要哪个。

于 2013-08-12T12:29:46.710 回答
0

这会将 String 添加到数组列表中:

ArrayList list = new ArrayList();
list.add("hello");
System.out.println(list);
于 2013-08-27T12:48:33.597 回答