Module  java.base
软件包  java.lang.reflect

Class Parameter

  • All Implemented Interfaces:
    AnnotatedElement


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

      • equals

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

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

        public String toString​()
        返回描述此参数的字符串。 格式是The Java™ Language Specification推荐的规范参数(如果有的话)的修饰符,后面是参数的完全限定类型(如果参数是可变的,不包括最后的[]),后跟“...” “如果参数是可变的,后跟一个空格,后跟参数的名称。
        重写:
        toString在类 Object
        结果
        参数和相关信息的字符串表示形式。
      • 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 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
        结果
        此元素上出现的注释