java.lang.reflect.Field的setChar()方法用于将字段的值设置为指定对象上的char。当需要将对象的字段值设置为char时,可以使用此方法在Object上设置值。
用法:
public void setChar(Object obj, char c)
throws IllegalArgumentException,
IllegalAccessException
参数:此方法接受接受两个参数:
obj:是应该修改其字段的对象,并且
c:这是要修改的obj字段的新值。
返回:此方法不返回任何内容。
异常:此方法引发以下异常:
IllegalAccessException:如果此Field对象正在强制执行Java语言访问控制,并且基础字段是不可访问的或最终的。
IllegalArgumentException:如果指定的对象不是声明基础字段(或其子类或实现者)的类或接口的实例,或者展开转换失败。
NullPointerException:如果指定的对象为null,并且该字段是实例字段。
ExceptionInInitializerError:如果此方法引发的初始化失败。
以下示例程序旨在说明setChar()方法:
示例1:
// Java program to illustrate setByte() method
// program illustrate setChar()
import java.lang.reflect.Field;
public class GFG {
public static void main(String[] args)
throws Exception
{
// create user object
Employee emp = new Employee();
// print value of lastNamePrefix
System.out.println(
"Value of lastNamePrefix before "
+ "applying setChar is "
+ emp.lastNamePrefix);
// Get the marks field object
Field field = Employee.class
.getField("lastNamePrefix");
// Apply setChar Method
field.setChar(emp, 'B');
// print value of lastNamePrefix
System.out.println(
"Value of lastNamePrefix after "
+ "applying setChar is "
+ emp.lastNamePrefix);
// print value of firstNamePrefix
System.out.println(
"Value of firstNamePrefix before "
+ "applying setChar is "
+ emp.firstNamePrefix);
// Get the marks field object
field = Employee.class
.getField("firstNamePrefix");
// Apply setChar Method
field.setChar(emp, 'Z');
// print value of firstNamePrefix
System.out.println(
"Value of firstNamePrefix after "
+ "applying setChar is "
+ emp.firstNamePrefix);
}
}
// sample class
class Employee {
// static char values
public static char firstNamePrefix = 'A';
public static char lastNamePrefix = 'S';
}
输出:
Value of lastNamePrefix before applying setChar is S
Value of lastNamePrefix after applying setChar is B
Value of firstNamePrefix before applying setChar is A
Value of firstNamePrefix after applying setChar is Z
示例2:
// Java program to illustrate setChar() method
import java.lang.reflect.Field;
public class GFG {
public static void main(String[] args)
throws Exception
{
// create user object
User user = new User();
// Get the id field object
Field field = User.class
.getField("id");
// Apply setChar Method
field.setChar(user, 'A');
// print value of isActive
System.out.println("Value after "
+ "applying setChar is "
+ user.id);
}
}
// sample User class
class User {
// static char values
public static char id = 'Z';
}
输出:
Value after applying setChar is A