PrintWriter和LinkedList

时间:2014-11-03 11:17:12

标签: java printwriter type-mismatch

我需要遍历已保存的客户端连接(在服务器端)并向其发送消息(当一个人写一条消息时 - 其他人连接也应该看到它)。

我试着这样做:

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.

任何人都可以帮助我或提出另一个想法如何完成它。感谢。

2 个答案:

答案 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,并且没有问题了。