java.lang.reflect Field类

1 java.lang.reflect Field类的介绍

java.lang.reflect.Field类提供有关类或接口的单个字段的信息和动态访问。反射的字段可以是类(静态)字段或实例字段。字段允许在获取或设置访问操作期间扩展转换,但如果发生缩小转换,则会引发IllegalArgumentException。

2 java.lang.reflect Field类的声明

public final class Field
   extends AccessibleObject
      implements Member

3 java.lang.reflect Field类的方法 

方法 描述
boolean equals(Object obj) 将此字段与指定对象进行比较。
Object get(Object obj) 返回指定对象上由Field表示的字段的值。
T getAnnotation(Class annotationClass) 如果存在这样的注释,则返回该元素的指定类型的注释,否则返回null。
boolean getBoolean(Object obj) 获取静态或实例布尔字段的值。
byte getByte(Object obj) 获取静态或实例字节字段的值。
char getChar(Object obj) 获取char类型的静态或实例字段的值,或者通过加宽转换可转换为char类型的另一个基本类型的值。
Annotation[] getDeclaredAnnotations() 返回此元素上直接存在的所有注释。
Class<?> getDeclaringClass() 返回表示声明由Field对象表示的字段的类或接口的Class对象。
double getDouble(Object obj) 获取double类型的静态或实例字段的值,或者通过加宽转换可转换为double类型的另一个基本类型的值。
float getFloat(Object obj) 获取类型为float的静态或实例字段的值,或者通过加宽转换可转换为float类型的另一个原始类型的值。
Type getGenericType() 返回一个Type对象,该对象表示由Field对象表示的字段的声明类型。
int getInt(Object obj) 获取类型为int的静态或实例字段的值,或者通过加宽转换可转换为类型int的另一个原始类型的值。
long getLong(Object obj) 获取long类型的静态或实例字段的值,或者通过扩展转换可转换为long类型的另一个原始类型的值。
int getModifiers() 返回由Field对象表示的字段的Java语言修饰符,以整数形式返回。
String getName() 返回Field对象表示的字段的名称。
short getShort(Object obj) 获取类型为short的另一个原始类型的静态或实例字段的值,通过加宽转换可转换为short类型。
Class<?> getType() 返回一个Class对象,用于标识Field对象所表示的字段的声明类型。
int hashCode() 返回Field的哈希码。
boolean isEnumConstant() 如果字段表示枚举类型的元素,则返回true; 否则返回false。
boolean isSynthetic() 将指定对象参数上的Field对象表示的字段设置为指定的新值。
 
void setBoolean(Object obj, boolean z) 为指定对象上字段的值设置为布尔值。
void setByte(Object obj, byte b) 为指定对象上字段的值设置为字节值。
void setChar(Object obj, char c) 为指定对象上字段的值设置为字符值。
void setDouble(Object obj, double d) 为指定对象上字段的值设置为double值。
void setFloat(Object obj, float f) 为指定对象上字段的值设置为浮点数。
void setInt(Object obj, int i) 为指定对象上字段的值设置为int值。
void setLong(Object obj, long l) 为指定对象上字段的值设置为long值。
void setShort(Object obj, short s) 为指定对象上字段的值设置为short值。
String toGenericString() 返回描述此Field对象的字符串,包括其通用类型。
String toString() 返回描述此Field对象的字符串。

 

一点教程,一个分享编程知识的公众号。跟着站长一起学习和进步。

通俗易懂,深入浅出,一篇文章只讲一个知识点。

在公交、在地铁、在厕所都可以阅读,随时随地涨姿势。

文章不涉及代码,不烧脑细胞,人人都可以学习。

当你决定关注「一点教程」,你已然超越了90%的程序员!

一点教程二维码