我正在尝试从我的工作对象中获取一个字符串属性。我找不到任何解决我的问题的方法,谷歌也没有帮助
这是我的 Java 类:
public class HumanBean {
String name;
int alter;
int gehalt;
double gehaltDouble;
....getter and setter...
}
CPP-File - 注释代码是我试图从作业中获取名称字符串的地方
Human createHuman(JNIEnv *env, jclass cls, jobject javaObject) {
jclass cls = (*env).GetObjectClass(javaObject);
//jfieldID fidInt = (*env).GetFieldID(cls, "name", "Ljava/lang/String;");
//jstring name = ??????????????????????
jfieldID fidInt = (*env).GetFieldID(cls, "alter", "I");
jint alter = (*env).GetIntField(objarg, fidInt);
jfieldID fidInt = (*env).GetFieldID(cls, "gehalt", "I");
jint gehaltInt = (*env).GetIntField(objarg, fidInt);
jfieldID fidInt = (*env).GetFieldID(cls, "gehaltDouble", "D");
jdouble gehaltDouble = (*env).GetDoubleField(objarg, fidInt);
Human newHuman = Human(alter, name, gehaltDouble, gehaltInt);
return newHuman;
}
最佳答案
我认为这会起作用:
jfieldID fidName = (*env).GetFieldID(cls, "name", "Ljava/lang/String;");
jstring nameString = (jstring)(*env).GetObjectField(cls, fidName);
关于java - 如何从jobject中获取jstring? C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57608709/