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