我正在尝试检查一个对象是否在Java中实现了一个接口(如果该对象的那个类实现了接口)。
我该怎么做?
我看到你可以做这个.getClass()。getInterfaces(),但这给了我一个数组,我需要搜索那个数组,但是我用什么来检查呢?
答案 0 :(得分:5)
如果您需要知道实例foo
是否是实现给定接口的类,您可以使用instanceof
:
if (foo instanceof TheInterface)
答案 1 :(得分:4)
您可以在Java中使用instanceof运算符。 JLS说,
在运行时,如果RelationalExpression的值不为null并且引用可以转换为ReferenceType而不引发ClassCastException,则instanceof运算符的结果为true。
instanceof
运算符是一个二元运算符,用于测试对象(实例)是否是给定类型的子类型。
// checks if bar object's class implements SomeInterface
if (bar instanceof SomeInterface)