模块  java.base
软件包  java.lang.reflect

Class Parameter

  • 实现的所有接口
    AnnotatedElement

    public final class Parameter
    extends Object
    implements AnnotatedElement
    有关方法参数的信息。 Parameter提供有关方法参数的信息,包括其名称和修饰符。 它还提供了另一种获取参数属性的方法。
    从以下版本开始:
    1.8
    • 方法详细信息

      • equals

        public boolean equals​(Object obj)
        根据可执行文件和索引进行比较。
        重写:
        equalsObject
        参数
        obj - 要比较的对象。
        结果
        这是否等于论证。
        另请参见:
        Object.hashCode()HashMap
      • isNamePresent

        public boolean isNamePresent()
        如果参数根据类文件具有名称,则返回true;否则返回true。 否则返回false。 参数是否具有名称由声明参数的方法的MethodParameters属性确定。
        结果
        当且仅当参数根据类文件具有名称时才返回true。
      • toString

        public String toString()
        返回描述此参数的字符串。 格式是参数的修饰符(如果有),按照规范顺序,如The Java™ Language Specification所推荐,后跟参数的完全限定类型(如果参数是变量arity, 则不包括last []),后跟“... “如果参数是变量arity,后跟空格,后跟参数名称。
        重写:
        toStringObject
        结果
        参数和相关信息的字符串表示形式。
      • getDeclaringExecutable

        public Executable getDeclaringExecutable()
        返回声明此参数的 Executable
        结果
        Executable声明此参数。
      • getModifiers

        public int getModifiers()
        获取此 Parameter对象表示的参数的修饰符标志。
        结果
        此参数的修饰符标志。
      • getName

        public String getName()
        返回参数的名称。 如果参数的名称为present ,则此方法返回类文件提供的名称。 否则,此方法合成形式为argN的名称,其中N是声明参数的方法的描述符中的参数的索引。
        结果
        参数的名称,由类文件提供,或者在类文件未提供名称时合成。
      • 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