小编use*_*951的帖子

如何从JNI设置Java枚举字段?

如何从JNI 设置 Java enum字段?这是示例代码.我想在本机函数"get_state"中设置我的B对象的"myState"字段.

public class A {

    public enum STATE { 
        STATE_ONE,
        STATE_TWO
    }

    public static class B {
        public STATE myState;
    }

    public native void get_state(B b);

    public B getB() {
        B b;

        // Call JNI to get the state
        get_state(b);

        return b;
    }
}


JNIEXPORT void JNICALL Java_A_get_1state(JNIEnv *env, jobject object, jobject b_object)
{
    /* Get a reference to obj's class */
    jclass cls = (*env)->GetObjectClass(env, b_object);

    //How do I set B object's "myState" field?

}
Run Code Online (Sandbox Code Playgroud)

java java-native-interface enums

5
推荐指数
2
解决办法
5701
查看次数

标签 统计

enums ×1

java ×1

java-native-interface ×1