0
例如,我有一個Java類中:如何所有成員遍歷jobject
public class JniTest {
public int member_int_;
public int member_int_2_;
public boolean member_bool_;
public static int member_static_int_ = 90;
public String member_str_;
void print() {};
}
在JNI,我想每個成員不預先知道他們的名字:
JNIEXPORT void JNICALL Java_com_tencent_qqmail_protocol_JniMethodTest_TestObject(JNIEnv * env, jclass cls, jobject obj) {
*for (each member in obj)* { ... } //how to implement ?
}
在轉換到JNI之前,您可能想重新考慮您的體系結構以儘可能地在Java端執行操作。這種類型的反射在Java中很容易實現,但是在JNI中很容易出錯,並且可能需要跨越JNI邊界(除非存在一些嚴重的性能限制,否則我會考慮這樣做)。你能編輯你的問題,爲更廣泛的目標提供更多的背景嗎? – technomage