java反射--Field用法實踐


Field是一個位於java.lang.reflect包下的類,用來描述類的屬性信息,功能主要包括:

  • 獲取哦大年對象的成員變量類型
  • 對成員變量重新設值

Field類對象:

Class.getFields(): 獲取類中public類型的屬性,返回一個包含某些 Field 對象的數組,該數組包含此 Class 對象所表示的類或接口的所有可訪問公共字段
getDeclaredFields(): 獲取類中所有的屬性(public、protected、default、private),但不包括繼承的屬性,返回 Field 對象的一個數組
getField(String name): 獲取類特定的方法,name參數指定了屬性的名稱
getDeclaredField(String name): 獲取類特定的方法,name參數指定了屬性的名稱

Field 類對象常用方法:

Field.getType():返回這個變量的類型
Field.getGenericType():如果當前屬性有簽名屬性類型就返回,否則就返回 Field.getType()
isEnumConstant() : 判斷這個屬性是否是枚舉類

Field.getModifiers() 以整數形式返回由此 Field 對象表示的字段的 Java 語言修飾符

getName() : 獲取屬性的名字

get(Object obj) 返回指定對象obj上此 Field 表示的字段的值

set(Object obj, Object value) 將指定對象變量上此 Field 對象表示的字段設置為指定的新值

isAnnotationPresent(Class<? extends Annotation> annotationClass):如果該字段對象上有指定類型的注解,則返回true,否則為false

getAnnotation(Class<T> annotationClass):如果該字段對象存在指定類型的注解,則返回該注解,否則返回null

只有類級別的注解會被繼承得到,對於其他對象而言,getAnnotation() 方法與 getDeclaredAnnotation() 方法作用相同

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM