我试图检查一个对象是否实现了一个接口(如果那个对象的类实现了接口)。Java - 检查一个对象(类)是否实现了一个接口
我该怎么做?我看到你可以做this.getClass()。getInterfaces(),但是这给了我一个数组,我需要搜索该数组,但是我用什么来检查?
我试图检查一个对象是否实现了一个接口(如果那个对象的类实现了接口)。Java - 检查一个对象(类)是否实现了一个接口
我该怎么做?我看到你可以做this.getClass()。getInterfaces(),但是这给了我一个数组,我需要搜索该数组,但是我用什么来检查?
您可以在Java中使用instanceof运算符。 JLS说,
在运行时,如果RelationalExpression的值不为null并且可以将引用强制转换为ReferenceType而不引发ClassCastException,则instanceof运算符的结果为true。
instanceof
operator是一个二元运算符,用于测试对象(实例)是否为给定类型的子类型。
// checks if bar object's class implements SomeInterface
if (bar instanceof SomeInterface)
如果你需要知道,如果实例foo
是实现一个给定接口的类的,你可以使用instanceof
:
if (foo instanceof TheInterface)
当你问你的问题,只是在你的标题打字时,SO界面向您显示了与其相关的现有问题列表。上面指出的[the assylias,myself,and other](http://stackoverflow.com/questions/766106/test-if-object-implements-interface)是**列表中的第二个**。当答案已经存在时,为什么又要问这个问题呢? –
这个问题不值得被如此低估... – assylias
@assylias:有些人解释为“......没有显示研究努力......”,因为包括在询问时不打扰类似问题的列表。 (好或坏...) –