Java 如何在JNI中处理类似结构的jobject

Java 如何在JNI中处理类似结构的jobject,java,c,java-native-interface,Java,C,Java Native Interface,我在使用Java本机接口时遇到了一个问题。我上过以下课程: public class TestJNI { public static native long sendCommand(int id, MyParms param); static { System.loadLibrary("TestNative"); } } MyParams如下所示: public class MyParams { public String lpstrElementName; } 然

我在使用Java本机接口时遇到了一个问题。我上过以下课程:

public class TestJNI {
  public static native long sendCommand(int id, MyParms param);

  static {
    System.loadLibrary("TestNative");
  }
}
MyParams如下所示:

public class MyParams {
  public String lpstrElementName;
}
然后我有一个C文件:

#include <jni.h>
#include "TestJNI.h"

JNIEXPORT jlong JNICALL Java_TestJNI_sendCommand
  (JNIEnv *env, jclass clazz, jint id, jobject param)
{
  // code
}
#包括
#包括“TestJNI.h”
JNIEXPORT jlong JNICALL Java_TestJNI_send命令
(JNIEnv*env,jclass clazz,jint id,jobject参数)
{
//代码
}

此时我不知道如何处理jobject参数以及如何访问我的element name属性?

这是访问integer类字段的一个简短示例,有关详细信息,请使用已发布的链接

class MyParms
{
  int myVar;
}
用于读取myVar值的函数:

编辑:用于访问字符串字段

env->GetFieldID( clazz, "myVar", "Ljava/lang/String;" );

有关更多信息,请参见和。

这个问题相当广泛。我建议您先看一下,我不敢相信它没有标记为dup。。
env->GetFieldID( clazz, "myVar", "Ljava/lang/String;" );