如
instanceof其他答案所述,关键字通常是您想要的。请记住,超类
instanceof也会返回
true。
如果要查看对象是否是类的直接实例,则可以比较该类。您可以通过获取实例的类对象
getClass()。您可以通过静态访问特定的类
ClassName.class。
因此,例如:
if (a.getClass() == X.class) { // do something}在上面的例子中,如果该条件为真
a是的一个实例
X,但如果
a是的子类的实例
X。
相比下:
if (a instanceof X) { // do something }在
instanceof示例中,如果
a是的实例
X,或者
a是的 子类 的实例,则条件为true
X。
大多数时候,
instanceof是对的。



