1

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

我怎么做?

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

4

2 回答 2

5

如果您需要知道实例foo是否属于实现给定接口的类,您可以使用instanceof

if (foo instanceof TheInterface)
于 2013-05-16T11:22:46.177 回答
4

您可以在 Java中使用instanceof运算符。JLS 说,

在运行时,如果 RelationalExpression 的值不为 null,并且可以将引用强制转换为 ReferenceType 而不会引发 ClassCastException,则 instanceof 运算符的结果为真。

instanceof运算符是用于测试对象(实例)是否是给定类型的子类型的二元运算符。

// checks if bar object's class implements SomeInterface
if (bar instanceof SomeInterface)
于 2013-05-16T11:22:45.990 回答