#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;
}
}