Взять список в качестве входных данных при программировании сокетов - PullRequest
2 голосов
/ 02 февраля 2012

Я хочу получить список в качестве входных данных, 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);

Если я могу отправить Список <>, почему я не могу его принять?Какие-либо причины и предложения для выходного кода?

Ответы [ 2 ]

7 голосов
/ 02 февраля 2012

readObject не принимает никаких параметров. Вы хотите:

List<String> list = (List<String>) in.readObject();

(Конечно, это не совсем безопасно для типов, и компилятор должен по крайней мере выдавать предупреждения. Как вы справляетесь с этим, это отдельный вопрос.)

3 голосов
/ 02 февраля 2012

Нет метода readObject с входным параметром .

Вам необходимо привести readObject к типу объекта, который вы пытаетесь прочитать.

List ls=  (List)in.readObject();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...