SetStatic<type>Field Routines - SetStaticCharField
void
SetStatic<type>Field(JNIEnv *env, jclass clazz, jfieldID fieldID,
NativeType value);
This family of accessor routines sets 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()
. (SetStaticCharField)
The following table describes the set routine name and value types. You should replace type in SetStatic<type>Field with the Java type of the field, or one of the actual set static field routine names from the table, and replace NativeType with the corresponding native type for that routine.
Table 4-6a SetStatic<type>Field Family of Accessor Routines
LINKAGE:
Indices in the JNIEnv interface function table.
Table 4-6b SetStatic<type>Field Family of Accessor Routines
PARAMETERS:
env
: the JNI interface pointer.clazz
: a Java class object.fieldID
: a static field ID.value
: the new value of the field.
Example of SetStaticCharField
{
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));
}