obj instanceof Arrays
有助于了解obj
是Arrays
的实例,但我想知道用什么运算符来查找obj
是否为Arrays
的子类?
假设类Animal是Dog的超级类。
Dog d = new Dog().
if {dog
"哪个运营商?" Animal
)会产生true
?
答案 0 :(得分:3)
instanceof
也将返回true。 Dog
的实例也是Animal
的实例。
答案 1 :(得分:2)
Animal.class.isAssignableFrom(dog.getClass())
如果true
是Dog
的孩子(扩展或实施),则将返回Animal
如果您在运行时确定了类型,如果已修复以检查类型,那么这将对您有帮助,那么您可以使用instanceof
运算符
使用此方法时,请务必处理null
答案 2 :(得分:1)
Jigar的解决方案可能是最好的,但你也可以这样做:
dog instanceof Animal && !dog.getClass().equals(Animal.class)
如果dog
的类是Animal
的子级但不是基级Animal
实例,则只会返回true。