【发布时间】:2015-07-05 04:51:45
【问题描述】:
我的输入来自使用DataInputSteam 的socket,因为我可以将多个不同的字符串值都分配给同一个clientDayOfWeek 字符串,所以我无法弄清楚如何将所有进入的字符串值保存到相同的 ArrayList 而不替换最后一个值。如果可能的话,我也希望不要重复。
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);
【问题讨论】:
-
你可以使用 Java 8 流 API 吗?
-
我无法理解的是为什么你将某些东西分配给一个变量(
clientDayOfWeek),然后将它再次分配给另一个变量(temp),然后将它添加到一个集合中。将dataInputStream.readUTF()存储在arList中不是很简单吗? -
在全球位置声明你的数组列表并尝试添加?
-
别了,我的朋友!这只是我们众所周知的共享状态的开始。努力尝试,找到更好/更好的解决方案,并始终(如果可能)返回不可修改的集合
标签: java string sockets arraylist inputstream