java.lang.Object
java.lang.reflect.Parameter
- 所有已实现的接口:
-
AnnotatedElement
方法参数的信息。
Parameter
提供有关方法参数的信息,包括其名称和修饰符。 它还提供了一种获取参数属性的替代方法。
- 自1.8版本起:
- 1.8
-
Method Summary
Modifier and TypeMethodDescription返回由此对象表示的参数的不可修改的访问标志集,可能为空。boolean
基于可执行文件和索引进行比较。返回一个AnnotatedType对象,该对象表示用于指定由此Parameter表示的形式参数的类型的类型的使用。<T extends Annotation>
TgetAnnotation
(Class<T> annotationClass) 如果存在此类注释,则返回指定类型的此元素的注释,否则返回null。返回在此元素上存在的注释。<T extends Annotation>
T[]getAnnotationsByType
(Class<T> annotationClass) 返回与此元素关联的注释。<T extends Annotation>
TgetDeclaredAnnotation
(Class<T> annotationClass) 如果直接存在此类注释,则返回指定类型的此元素的注释,否则返回null。返回直接存在在此元素上的注释。<T extends Annotation>
T[]getDeclaredAnnotationsByType
(Class<T> annotationClass) 如果这些注释是直接存在或间接存在的,则返回指定类型的此元素的注释。返回声明此参数的Executable
。int
返回由此对象表示的参数的Java语言修饰符。getName()
返回参数的名称。返回一个Type
对象,该对象标识由此Parameter
对象表示的参数的参数化类型。Class
<?> getType()
返回一个Class
对象,该对象标识由此Parameter
对象表示的参数的声明类型。int
hashCode()
基于可执行文件的哈希码和索引返回哈希码。boolean
如果此参数在源代码中隐式声明,则返回true
;否则返回false
。boolean
如果参数根据类文件具有名称,则返回true;否则返回false。 参数是否具有名称取决于声明参数的方法的MethodParameters属性。boolean
如果此参数既不是在源代码中隐式声明也不是显式声明,则返回true
;否则返回false
。boolean
如果此参数表示可变参数列表,则返回true
;否则返回false
。toString()
返回描述此参数的字符串。Methods declared in class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods declared in interface java.lang.reflect.AnnotatedElement
isAnnotationPresent
-
Method Details
-
equals
基于可执行文件和索引进行比较。 -
hashCode
public int hashCode()基于可执行文件的哈希码和索引返回哈希码。 -
isNamePresent
public boolean isNamePresent()如果参数根据类文件具有名称,则返回true;否则返回false。 参数是否具有名称取决于声明参数的方法的MethodParameters属性。- 返回:
- 仅当参数根据类文件具有名称时返回true。
-
toString
返回描述此参数的字符串。 格式是参数的修饰符(如果有的话,按照Java语言规范推荐的规范顺序),后跟参数的完全限定类型(如果参数是可变参数,则不包括最后的[]),后跟"..."(如果参数是可变参数),后跟一个空格,后跟参数的名称。 -
getDeclaringExecutable
返回声明此参数的Executable
。- 返回:
-
声明此参数的
Executable
-
getModifiers
public int getModifiers()返回由此对象表示的参数的Java语言修饰符。- 返回:
- 由此对象表示的参数的Java语言修饰符
- 参见 Java语言规范:
-
8.4.1 形式参数
- 参见:
-
accessFlags
返回由此对象表示的参数的不可修改的访问标志集,可能为空。- 返回:
- 由此对象表示的参数的不可修改的访问标志集,可能为空
- 参见 Java虚拟机规范:
-
4.7.24 MethodParameters属性
- 自20版本起:
- 20
- 参见:
-
getName
返回参数的名称。 如果参数的名称存在,则此方法返回类文件提供的名称。 否则,此方法将合成一个名称,形式为argN,其中N是声明参数的方法描述符中的参数索引。- 返回:
- 参数的名称,如果类文件未提供名称,则合成的名称。
-
getParameterizedType
返回一个Type
对象,该对象标识由此Parameter
对象表示的参数的参数化类型。- 返回:
-
一个标识由此对象表示的参数的参数化类型的
Type
对象
-
getType
返回一个Class
对象,该对象标识由此Parameter
对象表示的参数的声明类型。- 返回:
-
一个标识由此对象表示的参数的声明类型的
Class
对象
-
getAnnotatedType
返回一个AnnotatedType对象,该对象表示用于指定由此Parameter表示的形式参数的类型的类型的使用。- 返回:
-
一个表示用于指定由此Parameter表示的形式参数的类型的类型的
AnnotatedType
对象
-
isImplicit
public boolean isImplicit()如果此参数在源代码中隐式声明,则返回true
;否则返回false
。- 返回:
- 仅当此参数按照Java语言规范定义隐式声明时返回true。
-
isSynthetic
public boolean isSynthetic()如果此参数既不是在源代码中隐式声明也不是显式声明,则返回true
;否则返回false
。- 返回:
- 仅当此参数按照Java语言规范定义为合成结构时返回true。
- 参见 Java语言规范:
-
13.1 二进制的形式
- 参见:
-
isVarArgs
public boolean isVarArgs()返回true
如果此参数表示可变参数列表;否则返回false
。- 返回:
-
true
仅当此参数表示可变参数列表时返回。
-
getAnnotation
返回如果此元素的指定类型的注释是存在,则返回此元素的注释,否则返回null。请注意,此方法返回的任何注释都是声明注释。
- 指定者:
-
getAnnotation
在接口AnnotatedElement
中 - 类型参数:
-
T
- 要查询并返回的注释类型 - 参数:
-
annotationClass
- 对应于注释类型的Class对象 - 返回:
- 如果存在于此元素上的指定注释类型的此元素的注释,则返回此元素的注释,否则返回null
- 抛出:
-
NullPointerException
- 如果给定的注释类为null
-
getAnnotationsByType
返回与此元素关联的注解。如果没有与此元素关联的注解,则返回值是长度为0的数组。此方法与AnnotatedElement.getAnnotation(Class)
之间的区别在于,此方法会检测其参数是否为可重复注解类型(JLS 9.6),如果是,则尝试通过“查找”容器注解来找到一个或多个该类型的注解。调用此方法的对象可以修改返回的数组;这不会影响返回给其他调用者的数组。请注意,此方法返回的任何注解都是声明注解。
- 指定者:
-
getAnnotationsByType
在接口AnnotatedElement
- 类型参数:
-
T
- 要查询并返回的注解类型 - 参数:
-
annotationClass
- 对应于注解类型的Class对象 - 返回:
- 如果与此元素关联,则返回指定注解类型的所有注解,否则返回长度为零的数组
- 抛出:
-
NullPointerException
- 如果给定的注解类为null
-
getDeclaredAnnotations
返回直接存在于此元素上的注解。此方法会忽略继承的注解。如果此元素上没有直接存在的注解,则返回值为长度为0的数组。调用此方法的对象可以修改返回的数组;这不会影响返回给其他调用者的数组。请注意,此方法返回的任何注解都是声明注解。
- 指定者:
-
getDeclaredAnnotations
在接口AnnotatedElement
- 返回:
- 直接存在于此元素上的注解
-
getDeclaredAnnotation
如果此元素直接存在指定类型的注解,则返回该注解,否则返回null。此方法会忽略继承的注解。(如果此元素上没有直接存在的注解,则返回null。)请注意,此方法返回的任何注解都是声明注解。
- 指定者:
-
getDeclaredAnnotation
在接口AnnotatedElement
- 类型参数:
-
T
- 要查询并在直接存在时返回的注解类型 - 参数:
-
annotationClass
- 对应于注解类型的Class对象 - 返回:
- 如果直接存在于此元素上,则返回指定注解类型的此元素的注解,否则返回null
- 抛出:
-
NullPointerException
- 如果给定的注解类为null
-
getDeclaredAnnotationsByType
如果此元素上存在指定类型的注解(或者直接存在或间接存在),则返回该元素的注解。此方法会忽略继承的注解。如果此元素上没有直接存在或间接存在的指定注解,则返回值为长度为0的数组。此方法与AnnotatedElement.getDeclaredAnnotation(Class)
之间的区别在于,此方法会检测其参数是否为可重复注解类型(JLS 9.6),如果是,则尝试通过“查找”容器注解(如果存在)来找到一个或多个该类型的注解。调用此方法的对象可以修改返回的数组;这不会影响返回给其他调用者的数组。请注意,此方法返回的任何注解都是声明注解。
- 指定者:
-
getDeclaredAnnotationsByType
在接口AnnotatedElement
- 类型参数:
-
T
- 要查询并在直接或间接存在时返回的注解类型 - 参数:
-
annotationClass
- 对应于注解类型的Class对象 - 返回:
- 如果直接或间接存在于此元素上,则返回指定注解类型的此元素的所有注解,否则返回长度为零的数组
- 抛出:
-
NullPointerException
- 如果给定的注解类为null
-
getAnnotations
返回存在于此元素上的注解。如果此元素上没有存在的注解,则返回值为长度为0的数组。调用此方法的对象可以修改返回的数组;这不会影响返回给其他调用者的数组。请注意,此方法返回的任何注解都是声明注解。
- 指定者:
-
getAnnotations
在接口AnnotatedElement
- 返回:
- 存在于此元素上的注解
-