2013-08-12 5 views
-8

Пожалуйста, помогите. Я не могу получить эту работу:Добавить строку в ArrayList

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

, что это ошибка? –

+6

Можете вы добавить объявление 'data', пожалуйста? – fvu

+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 
+0

добавить <> после равенства знак. Ex; ArrayList data = new ArrayList <>(); действителен в java 7. – AmitG

+0

@AmitG, oops ... спасибо за это. Пропустил его. –

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

1

Что такое AddNewClientSaveAction? Используя это, вы создаете список, который готов принять объекты этого конкретного класса. Но вы пытаетесь передать ему объекты String. Кого вы действительно хотите?

Это звучит, как вы хотите, список типов Струнные вместо:

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

Либо это, либо вместо добавления объекта String, к нему, добавить что-то из класса AddNewClientSaveAction вместо этого. Трудно узнать, чего вы хотите, не зная больше о своем коде.

0

Это добавит строку в список массива:

ArrayList list = new ArrayList(); 
list.add("hello"); 
System.out.println(list); 
Смежные вопросы