- java.lang.Object
-
- java.lang.reflect.Parameter
-
- All Implemented Interfaces:
-
AnnotatedElement
public final class Parameter extends Object implements AnnotatedElement
有关方法参数的信息。 AParameter
提供有关方法参数的信息,包括其名称和修饰符。 它还提供了获取参数属性的替代方法。- 从以下版本开始:
- 1.8
-
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 boolean
equals(Object obj)
基于可执行文件和索引进行比较。AnnotatedType
getAnnotatedType()
返回一个AnnotatedType对象,它表示使用一个类型来指定此参数表示的形式参数的类型。<T extends Annotation>
TgetAnnotation(Class<T> annotationClass)
返回该元素的,如果这样的注释 ,否则返回null指定类型的注释。Annotation[]
getAnnotations()
返回此元素上 存在的注释。<T extends Annotation>
T[]getAnnotationsByType(Class<T> annotationClass)
返回与此元素 相关联的注释。<T extends Annotation>
TgetDeclaredAnnotation(Class<T> annotationClass)
如果这样的注释 直接存在 ,则返回指定类型的元素注释,否则返回null。Annotation[]
getDeclaredAnnotations()
返回 直接存在于此元素上的注释。<T extends Annotation>
T[]getDeclaredAnnotationsByType(Class<T> annotationClass)
如果此类注释 直接存在或 间接存在,则返回该元素的注释(指定类型)。Executable
getDeclaringExecutable()
返回Executable
,它声明此参数。int
getModifiers()
获取由此Parameter
对象表示的参数的修饰符标志。String
getName()
返回参数的名称。Type
getParameterizedType()
返回一个Type
对象标识参数化的类型由该表示的参数Parameter
对象。Class<?>
getType()
返回一个Class
对象,该对象标识由此Parameter
对象表示的参数的声明类型。int
hashCode()
根据可执行文件的哈希码和索引返回哈希码。boolean
isImplicit()
如果此参数在源代码中隐式声明,则返回true
; 否则返回false
。boolean
isNamePresent()
如果参数具有根据类文件的名称,则返回true; 否则返回false。boolean
isSynthetic()
返回true
如果此参数既不在源代码中隐式也不显式声明; 否则返回false
。boolean
isVarArgs()
如果此参数表示可变参数列表,则返回true
; 否则返回false
。String
toString()
返回描述此参数的字符串。-
Methods inherited from interface java.lang.reflect.AnnotatedElement
isAnnotationPresent
-
-
-
-
方法详细信息
-
equals
public boolean equals(Object obj)
基于可执行文件和索引进行比较。- 重写:
-
equals
在Object
- 参数
-
obj
- 要比较的对象。 - 结果
- 这是否等于论证。
- 另请参见:
-
Object.hashCode()
,HashMap
-
hashCode
public int hashCode()
根据可执行文件的哈希码和索引返回哈希码。- 重写:
-
hashCode
在Object
- 结果
- 基于可执行程序的哈希码的哈希码。
- 另请参见:
-
Object.equals(java.lang.Object)
,System.identityHashCode(java.lang.Object)
-
isNamePresent
public boolean isNamePresent()
如果参数具有根据类文件的名称,则返回true; 否则返回false。 参数是否具有名称由声明参数的方法的MethodParameters属性决定。- 结果
- 如果且仅当参数具有根据类文件的名称,则为true。
-
toString
public String toString()
返回描述此参数的字符串。 格式是The Java™ Language Specification推荐的规范参数(如果有的话)的修饰符,后面是参数的完全限定类型(如果参数是可变的,不包括最后的[]),后跟“...” “如果参数是可变的,后跟一个空格,后跟参数的名称。
-
getDeclaringExecutable
public Executable getDeclaringExecutable()
返回其中声明此参数的Executable
。- 结果
-
Executable
声明此参数。
-
getModifiers
public int getModifiers()
获取由此Parameter
对象表示的参数的修饰符标志。- 结果
- 该参数的修饰符标志。
-
getName
public String getName()
- 结果
- 该参数的名称,由类文件提供,或者如果类文件不提供名称则合成。
-
getParameterizedType
public Type getParameterizedType()
返回一个Type
对象标识参数化的类型由该表示的参数Parameter
对象。- 结果
-
标识由此对象表示的参数的参数化类型的
Type
对象
-
getType
public Class<?> getType()
返回一个Class
对象,标识由该Parameter
对象表示的参数的声明类型。- 结果
-
标识由此对象表示的参数的声明类型的
Class
对象
-
getAnnotatedType
public AnnotatedType getAnnotatedType()
返回一个AnnotatedType对象,它表示使用一个类型来指定此参数表示的形式参数的类型。- 结果
-
一个
AnnotatedType
对象,表示使用一个类型来指定此参数表示的形式参数的类型
-
isImplicit
public boolean isImplicit()
如果此参数在源代码中隐式声明,则返回true
; 否则返回false
。- 结果
- 当且仅当该参数被隐含地声明为 The Java™ Language Specification定义 时才为 真 。
-
isSynthetic
public boolean isSynthetic()
返回true
如果此参数既不是在源代码中隐式也不显式声明; 否则返回false
。- 结果
- 如果且仅当此参数是由 The Java™ Language Specification定义的合成结构, 则为true 。
- See The Java™ Language Specification:
- 13.1二进制形式
-
isVarArgs
public boolean isVarArgs()
如果此参数表示可变参数列表,则返回true
; 否则返回false
。- 结果
-
true
如果只有这个参数表示一个变量参数列表。
-
getAnnotation
public <T extends Annotation> T getAnnotation(Class<T> annotationClass)
返回该元素的,如果这样的注释 ,否则返回null指定类型的注释。- Specified by:
-
getAnnotation
在接口AnnotatedElement
- 参数类型
-
T
- 查询的注释类型,如果存在则返回 - 参数
-
annotationClass
- 对应于注释类型的Class对象 - 结果
- 该元素的注释指定的注释类型,如果存在于此元素,否则为null
- 异常
-
NullPointerException
- 如果给定的注释类为空
-
getAnnotationsByType
public <T extends Annotation> T[] getAnnotationsByType(Class<T> annotationClass)
返回与此元素相关联的注释。 如果没有与此元素相关联的注释,则返回值为长度为0.的数组。此方法与AnnotatedElement.getAnnotation(Class)
之间的区别在于该方法检测其参数是否是可重复注释类型 (JLS 9.6),如果是,则尝试通过“查看”容器注释来查找该类型的一个或多个注释。 该方法的调用者可以自由修改返回的数组; 它将对返回给其他调用者的数组没有影响。- Specified by:
-
getAnnotationsByType
在接口AnnotatedElement
- 参数类型
-
T
- 要查询的注释的类型,如果存在则返回 - 参数
-
annotationClass
- 对应于注释类型的Class对象 - 结果
- 如果与此元素相关联,则指定注释类型的所有元素注释,否则为长度为零的数组
- 异常
-
NullPointerException
- 如果给定的注释类为空
-
getDeclaredAnnotations
public Annotation[] getDeclaredAnnotations()
返回直接存在于此元素上的注释。 此方法忽略继承的注释。 如果此元素上没有直接显示的注释,则返回值为长度为0的数组。此方法的调用者可以自由修改返回的数组; 它将对返回给其他调用者的数组没有影响。- Specified by:
-
getDeclaredAnnotations
在接口AnnotatedElement
- 结果
- 此元素上直接显示的注释
-
getDeclaredAnnotation
public <T extends Annotation> T getDeclaredAnnotation(Class<T> annotationClass)
说明从界面AnnotatedElement
复制如果这样的注释直接存在 ,则返回指定类型的元素注释,否则返回null。 此方法忽略继承的注释。 (如果此元素上没有注释,则返回null)- Specified by:
-
getDeclaredAnnotation
在接口AnnotatedElement
- 参数类型
-
T
- 查询的注释类型,如果直接出现则返回 - 参数
-
annotationClass
- 对应于注释类型的Class对象 - 结果
- 如果直接出现在该元素上,则指定注释类型的元素注释,否则为null
- 异常
-
NullPointerException
- 如果给定的注释类为空
-
getDeclaredAnnotationsByType
public <T extends Annotation> T[] getDeclaredAnnotationsByType(Class<T> annotationClass)
说明从界面AnnotatedElement
复制如果此类注释直接存在或间接存在,则返回该元素的注释(指定类型)。 此方法忽略继承的注释。 如果在该元素上没有直接或间接存在的指定注释,则返回值是长度为0.的数组。此方法与AnnotatedElement.getDeclaredAnnotation(Class)
之间的区别在于该方法检测其参数是否是可重复注释类型 (JLS 9.6),以及如果是,尝试通过“查看”容器注释(如果存在)来查找该类型的一个或多个注释。 该方法的调用者可以自由修改返回的数组; 它将对返回给其他调用者的数组没有影响。- Specified by:
-
getDeclaredAnnotationsByType
在接口AnnotatedElement
- 参数类型
-
T
- 直接或间接出现的查询和返回的注释类型 - 参数
-
annotationClass
- 对应于注释类型的Class对象 - 结果
- 指定注释类型的所有这些元素的注释,如果直接或间接地存在于该元素上,否则为长度为零的数组
- 异常
-
NullPointerException
- 如果给定的注释类为空
-
getAnnotations
public Annotation[] getAnnotations()
返回此元素上存在的注释。 如果没有存在于此元素上注解,返回值是长度为0这种方法的调用者可以随意修改返回的数组的数组; 它将对返回给其他调用者的数组没有影响。- Specified by:
-
getAnnotations
在接口AnnotatedElement
- 结果
- 此元素上出现的注释
-
-