java.lang.reflect.Field.get(Object obj)
方法返回指定物件上由此Field
表示的欄位的值。如果該物件具有原始型別,則該值將自動包裝在物件中。
以下是java.lang.reflect.Field.get(Object obj)
方法的宣告。
public Object get(Object obj)
throws IllegalArgumentException, IllegalAccessException
引數
返回值
obj
中表示欄位的值; 原始值被包裝在適當的物件之前被返回。異常
Field
物件正在執行Java語言存取控制,並且底層欄位無法存取。null
,該欄位為範例欄位。以下範例顯示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