我需要遍历已保存的客户端连接(在服务器端)并向其发送消息(当一个人写一条消息时 - 其他人连接也应该看到它)。
我试着这样做:
for (PrintWriter out : connections) {
out.println(message);
out.flush();
}
connections
是
LinkedList connections = new LinkedList();
但对于for
循环,我收到以下错误:
Type mismatch: cannot convert from element type Object to PrintWriter.
任何人都可以帮助我或提出另一个想法如何完成它。感谢。
答案 0 :(得分:1)
LinkedList connections = new LinkedList();
是原始类型,因此它知道其类型对象的元素。您需要为其添加泛型类型参数:
LinkedList<PrintWriter> connections = new LinkedList<>();
答案 1 :(得分:0)
而不是
LinkedList connections = new LinkedList();
使用
LinkedList<PrintWriter> connections = new LinkedList<PrintWriter>();
。这确保您只能将PrintWriter
放入列表中,并且当从列表中取出对象时,编译器会确保取出的对象是PrintWriter
,并且没有问题了。