Java Field setLong()方法及示例
java.lang.reflect.Field 的 setLong() 方法用于将一个字段的值设置为指定对象的长值。当你需要将一个对象的一个字段的值设置为长值时,你可以使用这个方法来设置一个对象的值。
语法
public void setLong(Object obj, long l)
throws IllegalArgumentException,
IllegalAccessException
参数: 该方法接受两个参数。
- obj : 它是一个对象,其字段应该被修改。
- l : 被修改的obj字段的新值。
返回 :该方法不返回任何东西。
异常 :该方法会抛出以下异常。
- IllegalAccessException:如果这个字段对象正在执行Java语言的访问控制,并且底层字段是不可访问的或最终的。
- IllegalArgumentException:如果指定的对象不是声明底层字段的类或接口的实例(或其子类或实现者),或者如果解包转换失败。
- NullPolongerException:如果指定的对象是空的,并且该字段是一个实例字段。
- ExceptionInitializerError:如果该方法引发的初始化失败。
下面的程序说明了setLong()方法。
程序1 :
// Java program to illustrate setLong() 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 salary
System.out.prlongln(
"Value of salary before "
+ "applying setLong is "
+ emp.salary);
// Get the field object
Field field = Employee.class.getField("salary");
// Apply setLong Method
field.setLong(emp, 10000000);
// print value of salary
System.out.prlongln(
"Value of salary after "
+ "applying setLong is "
+ emp.salary);
// prlong value of uniqueNo
System.out.prlongln(
"Value of uniqueNo before "
+ "applying setLong is "
+ emp.uniqueNo);
// Get the field object
field = Employee.class.getField("uniqueNo");
// Apply setLong Method
field.setLong(emp, 200000);
// prlong value of uniqueNo
System.out.prlongln(
"Value of uniqueNo after "
+ "applying setLong is "
+ emp.uniqueNo);
}
}
// sample class
class Employee {
// static long values
public static long uniqueNo = 234289;
public static long salary = 1125213;
}
输出
Value of salary before applying setLong is 1234567
Value of salary after applying setLong is 10000000
Value of uniqueNo before applying setLong is 234289
Value of uniqueNo after applying setLong is 2000000
程序2
// Java program to illustrate setLong() method
import java.lang.reflect.Field;
public class GFG {
public static void main(String[] args)
throws Exception
{
// create Numbers object
Numbers no = new Numbers();
// Get the value field object
Field field = Numbers.class
.getField("value");
// Apply setLong Method
field.setLong(no, 36283435);
// prlong value of isActive
System.out.prlongln(
"Value after "
+ "applying setLong is "
+ Numbers.value);
}
}
// sample Numbers class
class Numbers {
// static long value
public static long value = 121314454;
}
输出
Value after applying setLong is 36283435
参考资料: https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Field.html#setLong-java.lang.Object-long-