private Class readObject (ObjectInput in, Class objectclass){
try {
Object o = in.readObject();
if (o instanceof objectclass) {
return (objectclass)o;
}
} catch (Exception e) {
}
在我的课堂我打电话这个功能:
ObjectInput in = (..)
Type1 type = readObject (in, Type1.class);
(do something with type)
while(true){
Type2 type2 = readObject (in, Type2.class);
(do something with type2)
基本上的readObject应该返回的类,我作为参数,如果这是Object o的正确类型。你可以这样想,我有我正在阅读的Type1,Type2和Type3对象,但是如果我遇到Type3,我什么都不做。
我写的这段代码无法正常工作。例如,
Type1 type = readObject (in, Type1.class);
给我警告“无法从Class转换为Type1”。
你有三个不同的等级叫' Class','Type1'和'Type2'? – Gendarme
Type1和Type2是类别yes。 “班级”是我尝试返回班级的方式。我也试过类>和类,似乎没有帮助 –
hokosha
由于返回类型必须是'Type1'或'Type2'的实例,但您返回'Class'的实例 – Clayn