我希望收到一个List作为输入,Java在我看来没有错误:
List<String> A;
ObjectOutputStream ins = new ObjectOutputStream(soc.getOutputStream());
ins.writeObject(A);
上面的代码执行时没有错误,但这不会:
List<String> ls;
ObjectInputStream in = new ObjectInputStream(soc.getInputStream());
in.readObject(ls);
如果我可以发送一个列表&lt;&gt;,为什么我不接受它?有关输出代码的任何原因和建议吗?
答案 0 :(得分:7)
readObject
不接受任何参数。你想要:
List<String> list = (List<String>) in.readObject();
(当然,这不是真正的类型安全,编译器至少应该提出警告。你如何处理这是一个单独的问题。)
答案 1 :(得分:3)
There is no readObject method with input parameter
您需要将readObject强制转换为您要读取的对象的类型。
List ls= (List)in.readObject();