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