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