Kev*_*dra 1 java class instanceof
我有条件 -
public class A {}
public class B extends A {}
A a = new B();
boolean flag = a instanceof B; // returns true
public boolean isOfType(A a, Class<? extends A> type) {
return (a instanceof type); // throws syntax error
}
Run Code Online (Sandbox Code Playgroud)
我很好奇为什么这个条件会引发语法错误.我在这里做错了吗?
是的,你应该使用type.isInstance(a).instanceof不是类型的对象Class,而是类名,例如a instanceof String,不是a instanceof String.class.