我有一堆对象,在这个堆栈中我推送 ClassA 和 ClassB 对象。我有一个必须从这个堆栈返回对象的方法
public Object method(Stack s){
ClassA a = new ClassA();
stack.push(a);
ClassB b = new ClassB();
stack.push(b);
while(stack has two elements) stack.pop();
return stack.pop()// I return the last element
}
问题是:当我调用这个方法 instanceof 不起作用时,它不能再告诉 ClassA 和 ClassB
Object o = method(s);
if ( o instanceof ClassA){
//do something
} else if (o instanceof ClassB) {
//do something else
}
内部方法(Stack s) instanceof 有效,外部无效,但 toString() 方法工作正常,它为每个类返回正确的字符串。