JavaTM 2 Platform
Standard Ed. 5.0

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 表示的字段的值。
<T extends Annotation>
T
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()
返回此 Field 对象表示的字段的名称。

指定者:
接口 Member 中的 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

equals

public boolean equals(Object obj)
将此 Field 与指定对象比较。如果对象是相同的,则返回 true。如果由相同的类声明并且具有相同的名称和类型,那么这两个 Field 对象是相同的。

覆盖:
Object 中的 equals
参数:
obj - 要与之比较的引用对象。
返回:
如果此对象与 obj 参数相同,则返回 true;否则返回 false
另请参见:
Object.hashCode(), Hashtable

hashCode

public int hashCode()
返回该 Field 的哈希码。这作为基础字段的声明类名及其名称的哈希码的异或进行计算。

覆盖:
Object 中的 hashCode
返回:
此对象的一个哈希码值。
另请参见:
Object.equals(java.lang.Object), Hashtable

toString

public String toString()
返回一个描述此 Field 的字符串。格式是:该字段(如果存在的话)的访问修饰符,后面跟着字段类型和一个空格,再后面是声明该字段的类的完全限定名,后面跟着一个句点,最后是字段的名称。例如:
    public static final int java.lang.Thread.MIN_PRIORITY
    private int java.io.FileDescriptor.fd
 

修饰符是按照 "The Java Language Specification" 中指定的规范化顺序放置的。publicprotectedprivate 的修饰符放在最前面,然后按以下顺序放置其他修饰符:staticfinaltransientvolatile

覆盖:
Object 中的 toString
返回:
该对象的字符串表示形式。

toGenericString

public String toGenericString()
返回一个描述此 Field(包括其一般类型)的字符串。格式是:该字段(如果存在的话)的访问修饰符,后面跟着一般字段类型和一个空格,再后面是声明该字段的类的完全限定名,后面跟着一个句点,最后是字段的名称。

修饰符是按照 "The Java Language Specification" 中指定的规范化顺序放置的。publicprotectedprivate 的修饰符放在最前面,然后按以下顺序放置其他修饰符:staticfinaltransientvolatile

返回:
描述此 Field(包括其一般类型)的字符串
从以下版本开始:
1.5

get

public Object get(Object obj)
           throws IllegalArgumentException,
                  IllegalAccessException
返回指定对象上此 Field 表示的字段的值。如果该值是一个基本类型值,则自动将其包装在一个对象中。

基础字段的值是按以下方式获得的:

如果基础字段是一个静态字段,则忽略 obj 变量;它可能为 null。

否则,基础字段是一个实例字段。如果指定的 obj 变量为 null,则该方法将抛出一个 NullPointerException。如果指定对象不是声明基础字段的类或接口的实例,则该方法将抛出一个 IllegalArgumentException

如果此 Field 对象强制实施 Java 语言访问控制,并且基础字段是不可访问的,则该方法将抛出一个 IllegalAccessException。如果基础字段是静态的,并且声明该字段的类尚未初始化,则初始化这个类。

否则,从基础实例字段或静态字段中检索该值。如果该字段是一个基本类型字段,则在返回前将该值包装在一个对象中,否则照原样返回。

如果字段隐藏在 obj 的类型中,则根据前面的规则获得字段的值。

参数:
obj - 从中提取所表示字段的值的对象
返回:
对象 obj 中的所表示字段的值;在返回之前,基值包装在一个适当的对象中
抛出:
IllegalAccessException - 如果基础字段是不可访问的。
IllegalArgumentException - 如果指定对象不是声明基础字段(或者其子类或实现者)的类或接口的实例。
NullPointerException - 如果指定对象为 null 并且字段是一个实例字段。
ExceptionInInitializerError - 如果此方法引起的初始化失败。

getBoolean

public boolean getBoolean(Object obj)
                   throws IllegalArgumentException,
                          IllegalAccessException
获得一个静态或实例 boolean 字段的值。

参数:
obj - 从中提取 boolean 值的对象
返回:
boolean 字段的值
抛出:
IllegalAccessException - 如果基础字段是不可访问的。
IllegalArgumentException - 如果指定对象不是声明基础字段(或者其子类或实现者)的类或接口的实例,或者无法通过扩展转换将字段值转换为 boolean 类型。
NullPointerException - 如果指定对象为 null 并且字段是一个实例字段。
ExceptionInInitializerError - 如果此方法引起的初始化失败。
另请参见:
get(java.lang.Object)

getByte

public byte getByte(Object obj)
             throws IllegalArgumentException,
                    IllegalAccessException
获得一个静态或实例 byte 字段的值。

参数:
obj - 从中提取 byte 值的对象
返回:
byte 字段的值
抛出:
IllegalAccessException - 如果基础字段是不可访问的。
IllegalArgumentException - 如果指定对象不是声明基础字段(或者其子类或实现者)的类或接口的实例,或者无法通过扩展转换将字段值转换为 byte 类型。
NullPointerException - 如果指定对象为 null 并且字段是一个实例字段。
ExceptionInInitializerError - 如果此方法引起的初始化失败。
另请参见:
get(java.lang.Object)

getChar

public char getChar(Object obj)
             throws IllegalArgumentException,
                    IllegalAccessException
获得 char 类型或另一个通过扩展转换可以转换为 char 类型的基本类型的静态或实例字段的值。

参数:
obj - 从中提取 char 值的对象
返回:
转换为 char 类型的字段的值
抛出:
IllegalAccessException - 如果基础字段是不可访问的。
IllegalArgumentException - 如果指定对象不是声明基础字段(或者其子类或实现者)的类或接口的实例,或者无法通过扩展转换将字段值转换为 char 类型。
NullPointerException - 如果指定对象为 null 并且字段是一个实例字段。
ExceptionInInitializerError - 如果此方法引起的初始化失败。
另请参见:
get(java.lang.Object)

getShort

public short getShort(Object obj)
               throws IllegalArgumentException,
                      IllegalAccessException
获得 short 类型或另一个通过扩展转换可以转换为 short 类型的基本类型的静态或实例字段的值。

参数:
obj - 从中提取 short 值的对象
返回:
转换为 short 类型的字段的值
抛出:
IllegalAccessException - 如果基础字段是不可访问的。
IllegalArgumentException - 如果指定对象不是声明基础字段(或者其子类或实现者)的类或接口的实例,或者无法通过扩展转换将字段值转换为 short 类型。
NullPointerException - 如果指定对象为 null 并且字段是一个实例字段。
ExceptionInInitializerError - 如果此方法引起的初始化失败。
另请参见:
get(java.lang.Object)

getInt

public int getInt(Object obj)
           throws IllegalArgumentException,
                  IllegalAccessException
获得 int 类型或另一个通过扩展转换可以转换为 int 类型的基本类型的静态或实例字段的值。

参数:
obj - 从中提取 int 值的对象
返回:
转换为 int 类型的字段的值
抛出:
IllegalAccessException - 如果基础字段是不可访问的。
IllegalArgumentException - 如果指定对象不是声明基础字段(或者其子类或实现者)的类或接口的实例,或者无法通过扩展转换将字段值转换为 int 类型。
NullPointerException - 如果指定对象为 null 并且字段是一个实例字段。
ExceptionInInitializerError - 如果此方法引起的初始化失败。
另请参见:
get(java.lang.Object)

getLong

public long getLong(Object obj)
             throws IllegalArgumentException,
                    IllegalAccessException
获得 long 类型或另一个通过扩展转换可以转换为 long 类型的基本类型的静态或实例字段的值。

参数:
obj - 从中提取 long 值的对象
返回:
转换为 long 类型的字段的值
抛出:
IllegalAccessException - 如果基础字段是不可访问的。
IllegalArgumentException - 如果指定对象不是声明基础字段(或者其子类或实现者)的类或接口的实例,或者无法通过扩展转换将字段值转换为 long 类型。
NullPointerException - 如果指定对象为 null 并且字段是一个实例字段。
ExceptionInInitializerError - 如果此方法引起的初始化失败。
另请参见:
get(java.lang.Object)

getFloat

public float getFloat(Object obj)
               throws IllegalArgumentException,
                      IllegalAccessException
获得 float 类型或另一个通过扩展转换可以转换为 float 类型的基本类型的静态或实例字段的值。

参数:
obj - 从中提取 float 值的对象
返回:
转换为 float 类型的字段的值
抛出:
IllegalAccessException - 如果基础字段是不可访问的。
IllegalArgumentException - 如果指定对象不是声明基础字段(或者其子类或实现者)的类或接口的实例,或者无法通过扩展转换将字段值转换为 float 类型。
NullPointerException - 如果指定对象为 null 并且字段是一个实例字段。
ExceptionInInitializerError - 如果此方法引起的初始化失败。
另请参见:
get(java.lang.Object)

getDouble

public double getDouble(Object obj)
                 throws IllegalArgumentException,
                        IllegalAccessException
获得 double 类型或另一个通过扩展转换可以转换为 double 类型的基本类型的静态或实例字段的值。

参数:
obj - 从中提取 double 值的对象
返回:
转换为 double 类型的字段的值
抛出:
IllegalAccessException - 如果基础字段是不可访问的。
IllegalArgumentException - 如果指定对象不是声明基础字段(或者其子类或实现者)的类或接口的实例,或者无法通过扩展转换将字段值转换为 double 类型。
NullPointerException - 如果指定对象为 null 并且字段是一个实例字段。
ExceptionInInitializerError - 如果此方法引起的初始化失败。
另请参见:
get(java.lang.Object)

set

public void set(Object obj,
                Object value)
         throws IllegalArgumentException,
                IllegalAccessException
将指定对象变量上此 Field 对象表示的字段设置为指定的新值。如果基础字段的类型为基本类型,则对新值进行自动解包。

进行此操作的方式如下:

如果基础字段是静态字段,则忽略 obj 变量;它可能为 null。

否则基础字段是一个实例字段。如果指定对象变量为 null,则该方法将抛出一个 NullPointerException。如果指定对象变量不是声明基础字段的类或接口的实例,则该方法将抛出一个 IllegalArgumentException

如果此 Field 对象实施 Java 语言访问控制,并且基础字段是不可访问的,则该方法将抛出一个 IllegalAccessException

如果基础字段为 final 字段,则该方法将抛出一个 IllegalAccessException,除非 setAccessible(true) 已经继承该字段并且该字段是一个非静态字段。在通过程序的其他部分可以访问类的实例之前,只有使用空白 final 字段反序列化或重构类的实例期间,以这种方式设置 final 字段才有意义。在其他任何上下文中使用该方法都可能会有不可预知的结果,包括程序的其他部分继续使用该字段的原始值的情况。

如果基础字段的类型为某一基本类型,则可以尝试使用解包转换将新值转换为基本类型的值。如果该尝试失败,则此方法将抛出一个 IllegalArgumentException

如果在进行可能的解包之后,无法通过某一标识或扩展转换将新值转换为基础字段的类型,则此方法将抛出一个 IllegalArgumentException

如果基础字段是静态的,并且声明该字段的类尚未初始化,则初始化这个类。

字段被设置为可能已解包并扩大的新值。

如果字段隐藏在 obj 的类型中,则根据前面的规则设置字段的值。

参数:
obj - 应该修改其字段的对象
value - 正被修改的 obj 的字段的新值
抛出:
IllegalAccessException - 如果基础字段是不可访问的。
IllegalArgumentException - 如果指定对象不是声明基础字段(或者其子类或实现者)的类或接口的实例,或者解包转换失败。
NullPointerException - 如果指定对象为 null 并且字段是一个实例字段。
ExceptionInInitializerError - 如果此方法引起的初始化失败。

setBoolean

public void setBoolean(Object obj,
                       boolean z)
                throws IllegalArgumentException,
                       IllegalAccessException
将字段的值设置为指定对象上的一个 boolean 值。该方法等同于 set(obj, zObj),其中 zObj 是一个 Boolean 对象,并且 zObj.booleanValue() == z

参数:
obj - 应该修改其字段的对象
z - 正被修改的 obj 的字段的新值
抛出:
IllegalAccessException - 如果基础字段是不可访问的。
IllegalArgumentException - 如果指定对象不是声明基础字段(或者其子类或实现者)的类或接口的实例,或者解包转换失败。
NullPointerException - 如果指定对象为 null 并且字段是一个实例字段。
ExceptionInInitializerError - 如果此方法引起的初始化失败。
另请参见:
set(java.lang.Object, java.lang.Object)

setByte

public void setByte(Object obj,
                    byte b)
             throws IllegalArgumentException,
                    IllegalAccessException
将字段的值设置为指定对象上的一个 byte 值。该方法等同于 set(obj, bObj),其中 bObj 是一个 Byte 对象,并且 bObj.byteValue() == b

参数:
obj - 应该修改其字段的对象
b - 正被修改的 obj 的字段的新值
抛出:
IllegalAccessException - 如果基础字段是不可访问的。
IllegalArgumentException - 如果指定对象不是声明基础字段(或者其子类或实现者)的类或接口的实例,或者解包转换失败。
NullPointerException - 如果指定对象为 null 并且字段是一个实例字段。
ExceptionInInitializerError - 如果此方法引起的初始化失败。
另请参见:
set(java.lang.Object, java.lang.Object)

setChar

public void setChar(Object obj,
                    char c)
             throws IllegalArgumentException,
                    IllegalAccessException
将字段的值设置为指定对象上的一个 char 值。该方法等同于 set(obj, cObj),其中 cObj 是一个 Character 对象,并且 cObj.charValue() == c

参数:
obj - 应该修改其字段的对象
c - 正被修改的 obj 的字段的新值
抛出:
IllegalAccessException - 如果基础字段是不可访问的。
IllegalArgumentException - 如果指定对象不是声明基础字段(或者其子类或实现者)的类或接口的实例,或者解包转换失败。
NullPointerException - 如果指定对象为 null 并且字段是一个实例字段。
ExceptionInInitializerError - 如果此方法引起的初始化失败。
另请参见:
set(java.lang.Object, java.lang.Object)

setShort

public void setShort(Object obj,
                     short s)
              throws IllegalArgumentException,
                     IllegalAccessException
将字段的值设置为指定对象上的一个 short 值。该方法等同于 set(obj, sObj),其中 sObj 是一个 Short 对象,并且 sObj.shortValue() == s

参数:
obj - 应该修改其字段的对象
s - 正被修改的 obj 的字段的新值
抛出:
IllegalAccessException - 如果基础字段是不可访问的。
IllegalArgumentException - 如果指定对象不是声明基础字段(或者其子类或实现者)的类或接口的实例,或者解包转换失败。
NullPointerException - 如果指定对象为 null 并且字段是一个实例字段。
ExceptionInInitializerError - 如果此方法引起的初始化失败。
另请参见:
set(java.lang.Object, java.lang.Object)

setInt

public void setInt(Object obj,
                   int i)
            throws IllegalArgumentException,
                   IllegalAccessException
将字段的值设置为指定对象上的一个 int 值。该方法等同于 set(obj, iObj),其中 iObj 是一个 Integer 对象,并且 iObj.intValue() == i

参数:
obj - 应该修改其字段的对象
i - 正被修改的 obj 的字段的新值
抛出:
IllegalAccessException - 如果基础字段是不可访问的。
IllegalArgumentException - 如果指定对象不是声明基础字段(或者其子类或实现者)的类或接口的实例,或者解包转换失败。
NullPointerException - 如果指定对象为 null 并且字段是一个实例字段。
ExceptionInInitializerError - 如果此方法引起的初始化失败。
另请参见:
set(java.lang.Object, java.lang.Object)

setLong

public void setLong(Object obj,
                    long l)
             throws IllegalArgumentException,
                    IllegalAccessException
将字段的值设置为指定对象上的一个 long 值。该方法等同于 set(obj, lObj),其中 lObj 是一个 Long 对象,并且 lObj.longValue() == l

参数:
obj - 应该修改其字段的对象
l - 正被修改的 obj 的字段的新值
抛出:
IllegalAccessException - 如果基础字段是不可访问的。
IllegalArgumentException - 如果指定对象不是声明基础字段(或者其子类或实现者)的类或接口的实例,或者解包转换失败。
NullPointerException - 如果指定对象为 null 并且字段是一个实例字段。
ExceptionInInitializerError - 如果此方法引起的初始化失败。
另请参见:
set(java.lang.Object, java.lang.Object)

setFloat

public void setFloat(Object obj,
                     float f)
              throws IllegalArgumentException,
                     IllegalAccessException
将字段的值设置为指定对象上的一个 float 值。该方法等同于 set(obj, fObj),其中 fObj 是一个 Float 对象,并且 fObj.floatValue() == f

参数:
obj - 应该修改其字段的对象
f - 正被修改的 obj 的字段的新值
抛出:
IllegalAccessException - 如果基础字段是不可访问的。
IllegalArgumentException - 如果指定对象不是声明基础字段(或者其子类或实现者)的类或接口的实例,或者解包转换失败。
NullPointerException - 如果指定对象为 null 并且字段是一个实例字段。
ExceptionInInitializerError - 如果此方法引起的初始化失败。
另请参见:
set(java.lang.Object, java.lang.Object)

setDouble

public void setDouble(Object obj,
                      double d)
               throws IllegalArgumentException,
                      IllegalAccessException
将字段的值设置为指定对象上的一个 double 值。该方法等同于 set(obj, dObj),其中 dObj 是一个 Double 对象,并且 dObj.doubleValue() == d

参数:
obj - 应该修改其字段的对象
d - 正被修改的 obj 的字段的新值
抛出:
IllegalAccessException - 如果基础字段是不可访问的。
IllegalArgumentException - 如果指定对象不是声明基础字段(或者其子类或实现者)的类或接口的实例,或者解包转换失败。
NullPointerException - 如果指定对象为 null 并且字段是一个实例字段。
ExceptionInInitializerError - 如果此方法引起的初始化失败。
另请参见:
set(java.lang.Object, java.lang.Object)

getAnnotation

public <T extends Annotation> T getAnnotation(Class<T> annotationClass)
从接口 AnnotatedElement 复制的描述
如果存在该元素的指定类型的注释,则返回这些注释,否则返回 null。

指定者:
接口 AnnotatedElement 中的 getAnnotation
覆盖:
AccessibleObject 中的 getAnnotation
参数:
annotationClass - 对应于注释类型的 Class 对象
返回:
如果该元素的指定注释类型的注释存在于此对象上,则返回这些注释,否则返回 null

getDeclaredAnnotations

public Annotation[] getDeclaredAnnotations()
从接口 AnnotatedElement 复制的描述
返回直接存在于此元素上的所有注释。与此接口中的其他方法不同,该方法将忽略继承的注释。(如果没有注释直接存在于此元素上,则返回长度为零的一个数组。)该方法的调用方可以随意修改返回的数组;这不会对其他调用方返回的数组产生任何影响。

指定者:
接口 AnnotatedElement 中的 getDeclaredAnnotations
覆盖:
AccessibleObject 中的 getDeclaredAnnotations
返回:
直接存在于此元素上的所有注释

JavaTM 2 Platform
Standard Ed. 5.0

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java 2 SDK SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策