【问题标题】:Java reading different variables with ObjectInputStreamJava 使用 ObjectInputStream 读取不同的变量
【发布时间】:2011-04-10 11:44:25
【问题描述】:
我有一个 ObjectInputStream 需要读取两个不同的输入,它们是字符串和我自己创建的对象。我有一个线程不断等待输入,并且根据输入,无论是字符串还是对象,它都会处理结果。我需要一种方法让输入能够区分两者。
任何帮助都会很棒。
谢谢
【问题讨论】:
标签:
java
multithreading
variables
objectinputstream
【解决方案1】:
不就是这样吗:
if (objectFromStream instanceof YourObejct) {
YourObject obj = (YourObject) objectFromStream;
....
} else if (objectFromStream instanceof String) {
String str = (String) objectFromStream;
} else {
// throw excepption..
}
【解决方案2】:
如果只有两个选择是 Sting 和你的对象,那么你可以试试这个:
Object obj = ois.readObject();
if(obj instanceof String){
String s = (String)obj;
}else{
if(obj instanceof MyObject){
MyObject m = (MyObject)obj;
}
}