Java使用ObjectInputStream读取不同的变量

时间:2011-04-10 11:44:25

标签: java multithreading variables objectinputstream

我有一个ObjectInputStream需要读取两个不同的输入,这些输入是一个String和我自己创建的对象。我有一个不断等待输入的线程,根据输入,它将是一个字符串或对象,它将处理结果。我需要一种方法让输入能够区分两者。

任何帮助都会很棒。

由于

2 个答案:

答案 0 :(得分:3)

不是这样做的事情:

if (objectFromStream instanceof YourObejct) {

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

} else if (objectFromStream instanceof String) {

    String str = (String) objectFromStream;

} else {
  // throw excepption..

}

答案 1 :(得分:2)

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

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

    }