【发布时间】:2013-11-30 13:47:18
【问题描述】:
客户端和服务器有两个数据流(ObjectOutputStream\ObjectInputStream)。 我正在尝试交换不同类的对象。但我不明白如何正确实现它。
如果我有一堂课,它会是这样的:
MyClass c = (MyClass)in.readObject();
但我必须交换不同类的对象。如何正确服用? 有可能以某种方式确定 readObject() 中的哪个类?
【问题讨论】:
客户端和服务器有两个数据流(ObjectOutputStream\ObjectInputStream)。 我正在尝试交换不同类的对象。但我不明白如何正确实现它。
如果我有一堂课,它会是这样的:
MyClass c = (MyClass)in.readObject();
但我必须交换不同类的对象。如何正确服用? 有可能以某种方式确定 readObject() 中的哪个类?
【问题讨论】:
是的。你用instanceof
Object obj = in.readObject();
if (obj instaneof MyClass) {
MyClass c = (MyClass) obj;
process(c);
} else if (obj instanceof MyOtherClass) {
// etc
【讨论】: