gpt4 book ai didi

java - 检查一个对象是否属于Java中的一个类

转载 作者:IT老高 更新时间:2023-10-28 13:52:54 26 4
gpt4 key购买 nike

有没有一种简单的方法来验证一个对象是否属于给定的类?例如,我可以这样做

if(a.getClass() = (new MyClass()).getClass())
{
//do something
}

但这需要每次都在运行中实例化一个新对象,只是为了丢弃它。有没有更好的方法来检查“a”是否属于“MyClass”类?

最佳答案

instanceof 关键字,如其他答案所述,通常是您想要的。请记住,instanceof 也会为父类(super class)返回 true

如果你想查看一个对象是否是一个类的直接实例,你可以比较这个类。您可以通过getClass() 获取实例的类对象。您可以通过 ClassName.class 静态访问特定的类。

例如:

if (a.getClass() == X.class) {
// do something
}

在上面的示例中,如果 aX 的实例,则条件为真,但如果 a 是 a 的实例,则条件不成立X 的子类。

比较:

if (a instanceof X) {
// do something
}

instanceof 示例中,如果 aX 的实例,或者 a 的实例,则条件为真> 是 X子类 的一个实例。

大多数时候,instanceof 是对的。

关于java - 检查一个对象是否属于Java中的一个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4294844/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com