Java - 检查对象(类)是否实现了接口

时间:2013-05-16 11:21:49

标签: java reflection

我正在尝试检查一个对象是否在Java中实现了一个接口(如果该对象的那个类实现了接口)。

我该怎么做?

我看到你可以做这个.getClass()。getInterfaces(),但这给了我一个数组,我需要搜索那个数组,但是我用什么来检查呢?

2 个答案:

答案 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)