2015-04-26 2 views
0

Мой ввод исходит от socket с использованием DataInputSteam и потому, что я могу иметь несколько разных значений String, все назначаемые для той же строки clientDayOfWeek, я не могу выяснить, как сохранить все строковые значения, входящие в один ArrayList, без замены последнего значения. Мне также не хотелось бы дублировать, если это возможно.Добавление каждого нового значения значения String 'temp' в ArrayList без перезаписывания предыдущего 'temp'

 Socket socket = null; 
     DataInputStream dataInputStream = null; 
     dataInputStream = new DataInputStream(
           socket.getInputStream()); 

     String clientDayOfWeek = dataInputStream.readUTF(); 
     ArrayList<String> ar = new ArrayList<String>(); 
     String temp = clientDayOfWeek; 
     ar.add(temp); 
     System.out.print("Items in list: "+ ar); 
+0

Можете ли вы использовать API потоков Java 8? –

+1

Я не понимаю, почему вы назначаете что-то переменной ('clientDayOfWeek'), а затем снова присваиваете ее другой переменной (' temp'), а затем добавляете ее в коллекцию. Не просто ли просто хранить 'dataInputStream.readUTF()' в 'ar'' List'? –

+0

объявить ur arraylist в глобальном местоположении и попробовать добавить? –

ответ

1

Спасибо, Прасант, вот что я делал неправильно.

Мне нужно, чтобы мой ArrayList<String> ar = new ArrayList<String>(); был глобальным и упрощал остальные, как описано внутри моего метода.

dataInputStream = new DataInputStream(
         socket.getInputStream()); 
    ar.add(dataInputStream.readUTF()); 
    System.out.print("ar: "+ar); 
Смежные вопросы