Java считывает разные переменные с помощью ObjectInputStream

#java #multithreading #variables #objectinputstream

#java #многопоточность #переменные #objectinputstream

Вопрос:

У меня есть ObjectInputStream, которому необходимо прочитать два разных входных сигнала, которые являются строкой и моим собственным созданным объектом. У меня есть поток, который постоянно ожидает ввода, и в зависимости от ввода, будь то строка или объект, он будет обрабатывать результат. Мне нужен способ, чтобы входные данные могли различать эти два параметра.

Любая помощь была бы отличной.

Спасибо

Комментарии:

1. Можете ли вы более подробно рассказать о своей проблеме? Пример кода был бы лучше.

Ответ №1:

Разве это не случай выполнения:

 if (objectFromStream instanceof YourObejct) {

    YourObject obj = (YourObject) objectFromStream;
    ....

} else if (objectFromStream instanceof String) {

    String str = (String) objectFromStream;

} else {
  // throw excepption..

}
  

Ответ №2:

Если единственными двумя вариантами являются Sting и ваш object, вы можете попробовать это:

     Object obj = ois.readObject();
    if(obj instanceof String){
       String s = (String)obj;
    }else{
       if(obj instanceof MyObject){
          MyObject m = (MyObject)obj;
       }

    }