public class Student
{
private People people;
private Result result;
private int amount;
}
Java のクラスのサンプルを次に示します。Cで、「学生」の「人」を取得しようとしましたが、失敗しました。しかし、「学生」からint型の「金額」を取得できています。
jobject getObjectFromObject(JNIEnv *env, jobject obj, const char * fieldName)
{
jfieldID fid; /* store the field ID */
jobject i;
/* Get a reference to obj's class */
jclass cls = (*env)->GetObjectClass(env, obj);
/* Look for the instance field s in cls */
fid = (*env)->GetFieldID(env, cls, fieldName, "L");
if (fid == NULL)
{
return 0; /* failed to find the field */
}
/* Read the instance field s */
i = (*env)->GetObjectField(env, obj, fid);
return i;
}
"people" を fieldName としてメソッドに渡そうとしていますが、それでも次のエラーが発生します: "java.lang.NoSuchFieldError: people"