请帮忙。我不能让这个工作:
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的新手。
答案 0 :(得分:3)
如果您将列表声明为
ArrayList data = new ArrayList();
然后您会收到有关参数化列表的消息,因为数据可以包含任何Object
如果您知道要在列表中仅添加字符串,请将其声明为
ArrayList<String> data = new ArrayList<String>(); // pre java 7
ArrayList<String> data = new ArrayList<>(); // valid for java 7
答案 1 :(得分: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之前的版本
答案 2 :(得分:1)
什么是AddNewClientSaveAction
?通过使用它,您将创建一个准备接受该特定类的对象的列表。但是您正在尝试将String对象传递给它。你真的想要哪一个?
听起来你想要一个String类型列表:
List<String> data = new ArrayList<String>();
或者,不是向它添加String对象,而是添加AddNewClientSaveAction类中的内容。如果不了解更多关于代码的信息,很难知道你想要的是什么。
答案 3 :(得分:0)
这会将String添加到数组列表中:
ArrayList list = new ArrayList();
list.add("hello");
System.out.println(list);