java field get_java.lang.reflect.Field.get()方法示例

java.lang.reflect.Field.get(Object obj)方法返回指定对象上由此Field表示的字段的值。如果该对象具有原始类型,则该值将自动包装在对象中。

声明

以下是java.lang.reflect.Field.get(Object obj)方法的声明。

public Object get(Object obj)

throws IllegalArgumentException, IllegalAccessException

参数

obj - 要从中提取表示字段的值的对象。

返回值

返回对象obj中表示字段的值; 原始值被包装在适当的对象之前被返回。

异常

IllegalAccessException - 如果此Field对象正在执行Java语言访问控制,并且底层字段无法访问。

IllegalArgumentException - 如果指定的对象不是声明底层字段(或其子类或实现者)的类或接口的实例。

NullPointerException - 如果指定的对象为null,该字段为实例字段。

ExceptionInInitializerError - 如果由此方法引发的初始化失败。

例子

以下示例显示java.lang.reflect.Field.get(Object obj)方法的用法。

import java.lang.annotation.Retention;

import java.lang.annotation.RetentionPolicy;

import java.lang.reflect.Field;

public class Get {

public static void main(String[] args) throws NoSuchFieldException,

SecurityException, IllegalArgumentException, IllegalAccessException {

SampleClass sampleObject = new SampleClass();

sampleObject.setSampleField("data");

Field field = SampleClass.class.getField("sampleField");

System.out.println(field.get(sampleObject));

}

}

@CustomAnnotation(name="SampleClass", value = "Sample Class Annotation")

class SampleClass {

@CustomAnnotation(name="sampleClassField", value = "Sample Field Annotation")

public String sampleField;

public String getSampleField() {

return sampleField;

}

public void setSampleField(String sampleField) {

this.sampleField = sampleField;

}

}

@Retention(RetentionPolicy.RUNTIME)

@interface CustomAnnotation {

public String name();

public String value();

}

让我们编译并运行上面的程序,这将产生以下结果 -

data

¥ 我要打赏

纠错/补充

收藏

加QQ群啦,易百教程官方技术学习群

注意:建议每个人选自己的技术方向加群,同一个QQ最多限加 3 个群。

你可能感兴趣的:(java,field,get)