3

我有一个 ObjectInputStream 需要读取两个不同的输入,它们是字符串和我自己创建的对象。我有一个线程不断等待输入,并且根据输入,无论是字符串还是对象,它都会处理结果。我需要一种方法让输入能够区分两者。

任何帮助都会很棒。

谢谢

4

2 回答 2

3

不是这样做的情况:

if (objectFromStream instanceof YourObejct) {

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

} else if (objectFromStream instanceof String) {

    String str = (String) objectFromStream;

} else {
  // throw excepption..

}
于 2011-04-10T11:51:13.060 回答
2

如果只有两个选择是 Sting 和你的对象,那么你可以试试这个:

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

    }
于 2011-04-10T11:52:38.200 回答