| |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.lang.reflect
类 Field
java.lang.Object java.lang.reflect.AccessibleObject java.lang.reflect.Field
- 所有已实现的接口:
- AnnotatedElement, Member
public final class Field
- extends AccessibleObject
- implements Member
Field
提供有关类或接口的单个字段的信息,以及对它的动态访问权限。反射的字段可能是一个类(静态)字段或实例字段。
Array
允许在执行 get 或 set 访问操作期间进行扩展转换,但如果将发生收缩转换,则抛出一个 IllegalArgumentException
。
- 另请参见:
Member
,Class
,Class.getFields()
,Class.getField(String)
,Class.getDeclaredFields()
,Class.getDeclaredField(String)
字段摘要 |
---|
从接口 java.lang.reflect.Member 继承的字段 |
---|
DECLARED, PUBLIC |
方法摘要 | ||
---|---|---|
boolean | equals(Object obj) 将此 Field 与指定对象比较。 | |
Object | get(Object obj) 返回指定对象上此 Field 表示的字段的值。 | |
| getAnnotation(Class<T> annotationClass) 如果存在该元素的指定类型的注释,则返回这些注释,否则返回 null。 | |
boolean | getBoolean(Object obj) 获得一个静态或实例 boolean 字段的值。 | |
byte | getByte(Object obj) 获得一个静态或实例 byte 字段的值。 | |
char | getChar(Object obj) 获得 char 类型或另一个通过扩展转换可以转换为 char 类型的基本类型的静态或实例字段的值。 | |
Annotation[] | getDeclaredAnnotations() 返回直接存在于此元素上的所有注释。 | |
Class<?> | getDeclaringClass() 返回表示类或接口的 Class 对象,该类或接口声明由此 Field 对象表示的字段。 | |
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() 如果此字段是复合字段,则返回 true;否则返回 false。 | |
void | set(Object obj, Object value) 将指定对象变量上此 Field 对象表示的字段设置为指定的新值。 | |
void | setBoolean(Object obj, boolean z) 将字段的值设置为指定对象上的一个 boolean 值。 | |
void | setByte(Object obj, byte b) 将字段的值设置为指定对象上的一个 byte 值。 | |
void | setChar(Object obj, char c) 将字段的值设置为指定对象上的一个 char 值。 | |
void | setDouble(Object obj, double d) 将字段的值设置为指定对象上的一个 double 值。 | |
void | setFloat(Object obj, float f) 将字段的值设置为指定对象上的一个 float 值。 | |
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 的字符串。 |
从类 java.lang.reflect.AccessibleObject 继承的方法 |
---|
getAnnotations, isAccessible, isAnnotationPresent, setAccessible, setAccessible |
从类 java.lang.Object 继承的方法 |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
方法详细信息 |
---|
getDeclaringClass
public Class<?> getDeclaringClass()
- 返回表示类或接口的
Class
对象,该类或接口声明由此Field
对象表示的字段。 - 指定者:
- 接口
Member
中的getDeclaringClass
- 返回:
- 表示声明基础成员的类的对象
getName
public String getName()
getModifiers
public int getModifiers()
- 以整数形式返回由此
Field
对象表示的字段的 Java 语言修饰符。应该使用Modifier
类对这些修饰符进行解码。 - 指定者:
- 接口
Member
中的getModifiers
- 返回:
- 基础成员的 Java 语言修饰符
- 另请参见:
Modifier
isEnumConstant
public boolean isEnumConstant()
- 如果此字段表示枚举类型的元素,则返回 true;否则返回 false。
- 返回:
- 当且仅当此字段表示一个枚举类型的元素时,才返回 true。
- 从以下版本开始:
- 1.5
isSynthetic
public boolean isSynthetic()
- 如果此字段是复合字段,则返回 true;否则返回 false。
- 指定者:
- 接口
Member
中的isSynthetic
- 返回:
- 当且仅当此字段是一个按 Java Language Specification 定义的复合字段时,才返回 true。
- 从以下版本开始:
- 1.5
getType
public Class<?> getType()
- 返回一个
Class
对象,它标识了此Field
对象所表示字段的声明类型。 - 返回:
- 标识此对象所表示字段的声明类型的
Class
对象
getGenericType
public Type getGenericType()
- 返回一个 Type 对象,它表示此 Field 对象所表示字段的声明类型。
如果 Type 是一个参数化类型,则返回的 Type 对象必须准确地反映源代码中使用的实际类型参数。
如果基础字段的类型是一个类型变量或者是一个参数化类型,则创建它。否则将解析它。
- 返回:
- 返回表示此
Field
对象所表示字段的声明类型的 Type 对象 - 抛出:
GenericSignatureFormatError
- 如果一般字段签名不符合 Java Virtual Machine Specification, 3rd edition 中指定的格式TypeNotPresentException
- 如果基础字段的一般类型签名引用了不存在的类型声明MalformedParameterizedTypeException
- 如果基础字段的一般签名引用了一个因某种原因而无法实例化的参数化类型- 从以下版本开始:
- 1.5