如何在界面的jni中实现与InstanceOf相同的功能。 JNi仅适用于类对象。但java关键字也适用于接口。
答案 0 :(得分:1)
接口也有与之关联的类对象,因此可以使用IsInstanceOf
作为接口。例如,以下程序检查String
是否是接口CharSequence
的实例(它是):
public static void main(String[] args) {
String s = "Test";
System.out.println(m(CharSequence.class, s)); // prints 'true'
}
public static native boolean m(Class<?> cls, Object o);
JNIEXPORT jboolean JNICALL Java_Main_m(JNIEnv *env, jclass dc, jclass intf, jobject o) {
return (*env)->IsInstanceOf(env, o, intf);
}