📜  Java中的字段 setChar() 方法及示例

📅  最后修改于: 2022-05-13 01:55:39.267000             🧑  作者: Mango

Java中的字段 setChar() 方法及示例

Java.lang.reflect.FieldsetChar()方法用于将字段的值设置为指定对象上的字符。当您需要将对象字段的值设置为 char 时,您可以使用此方法在对象上设置值。

句法:

public void setChar(Object obj, char c)
            throws IllegalArgumentException,
                   IllegalAccessException

参数:此方法接受两个参数:

  • obj :这是应该修改其字段的对象,并且
  • c :这是被修改的 obj 字段的新值。

Return :此方法不返回任何内容。

异常:此方法引发以下异常:

  • IllegalAccessException:如果此 Field 对象正在强制执行Java语言访问控制并且基础字段是不可访问的或最终的。
  • IllegalArgumentException:如果指定的对象不是声明基础字段(或其子类或实现者)的类或接口的实例,或者展开转换失败。
  • NullPointerException:如果指定的对象为 null 并且该字段是实例字段。
  • ExceptionInInitializerError:如果此方法引发的初始化失败。

下面的程序说明了 setChar() 方法:
方案一:

// 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

方案二:

// 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

参考: https: Java/lang/reflect/Field.html#setChar-java.lang.Object-char-