2010-06-15 72 views
1

當通過JNI環境變量調用GetFieldID方法時,您需要爲所需的字段提供一個字段描述符。你如何找到對象的字段描述符?如何在JNI中找到對象的字段描述符?

例子:

jfieldID strField = env->GetFieldID(myClass, "example", "Ljava/lang/String;"); 

我將如何確定 「Ljava /朗/字符串;」是字符串對象的字段描述符?

回答

2

javap工具會告訴你一個類的字段描述符是什麼。要使用它,導航到與某個字段對象編譯後的.class文件的目錄訪問和運行以下命令:

javap -s -p MyClass 

該命令將打印出所有現場描述符的類。但是,大多數(非主要性)描述符的形式是「Lfully/qualified/name/of/MyClass;」。

1

JNI documentation描述瞭如何將java類型轉換爲由JNI支持的類型字符串。你需要知道該類型,然後才能看到fieldId。

相關問題