isjance用于jni中的接口

时间:2018-02-15 20:03:46

标签: java java-native-interface

如何在界面的jni中实现与InstanceOf相同的功能。 JNi仅适用于类对象。但java关键字也适用于接口。

1 个答案:

答案 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);
}
相关问题