NativeType GetStatic<type>Field
(JNIEnv *env, jclass clazz, jfieldID fieldID);
This family of accessor routines returns the value of a static field of an object. The field to access is specified by a field ID, which is obtained by calling
GetStaticFieldID()
. (GetStaticCharField)
The following table describes the family of get routine names and result types. You should replace type in GetStatic<type>Field with the Java type of the field, or one of the actual static field accessor routine names from the table, and replace NativeType with the corresponding native type for that routine.
Table 4-5a GetStatic<type>Field Family of Accessor Routines
LINKAGE:
Indices in the JNIEnv interface function table.
Table 4-5b GetStatic<type>Field Family of Accessor Routines
PARAMETERS:
env
: the JNI interface pointer.clazz
: a Java class object.fieldID
: a static field ID.RETURNS:
Returns the content of the static field.
Example of GetStaticCharField
{
jfieldID jFieldId;
jchar iStaticCharVal;
jclass cls = (*env)->GetObjectClass(env, jobj);
jFieldId = (*env)->GetStaticFieldID(env,cls,"iStaticCharVal","C");
if(jFieldId == 0) {
printf("Field iStaticCharVal not Found in Hello class\n");
return;
}iStaticCharVal = (*env)->GetStaticCharField(env,cls,jFieldId);
(*env)->SetStaticCharField(env,cls,jFieldId,(iStaticCharVal +2));
jchar iStaticCharVal;
jclass cls = (*env)->GetObjectClass(env, jobj);
jFieldId = (*env)->GetStaticFieldID(env,cls,"iStaticCharVal","C");
if(jFieldId == 0) {
printf("Field iStaticCharVal not Found in Hello class\n");
return;
}iStaticCharVal = (*env)->GetStaticCharField(env,cls,jFieldId);
(*env)->SetStaticCharField(env,cls,jFieldId,(iStaticCharVal +2));
}