模块 java.base

类 Parameter

java.lang.Object
java.lang.reflect.Parameter
所有已实现的接口:
AnnotatedElement

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

    • equals

      public boolean equals(Object  obj)
      基于可执行文件和索引进行比较。
      重写:
      equals 在类 Object
      参数:
      obj - 要比较的对象。
      返回:
      这是否等于参数。
      参见:
    • hashCode

      public int hashCode()
      返回基于可执行文件的哈希码和索引的哈希码。
      重写:
      hashCode 在类 Object
      返回:
      基于可执行文件哈希码的哈希码。
      参见:
    • isNamePresent

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

      public String  toString()
      返回描述此参数的字符串。格式是参数的修饰符,如果有的话,按照推荐的规范顺序Java 语言规范,后跟参数的完全限定类型(如果参数是变量 arity,则不包括最后一个 []),如果参数是变量 arity,则后跟“...”,然后是空格,然后是参数的名称范围。
      重写:
      toString 在类 Object
      返回:
      参数和关联信息的字符串表示形式。
    • getDeclaringExecutable

      public Executable  getDeclaringExecutable()
      返回声明此参数的Executable
      返回:
      Executable声明这个参数
    • getModifiers

      public int getModifiers()
      返回此对象表示的参数的 Java 语言 modifiers
      返回:
      此对象表示的参数的 Java 语言 modifiers
      Java 语言规范:
      8.4.1 形式参数
      参见:
    • accessFlags

      public Set <AccessFlag > accessFlags()
      为该对象表示的参数返回不可修改的 访问标志 集,可能为空。
      返回:
      此对象表示的参数的不可修改的 访问标志 集,可能为空
      Java 虚拟机规范:
      4.7.24 MethodParameters 属性
      自从:
      20
      参见:
    • getName

      public String  getName()
      返回参数的名称。如果参数的名称是 展示 ,则此方法返回类文件提供的名称。否则,此方法合成一个 argN 形式的名称,其中 N 是参数在声明参数的方法的描述符中的索引。
      返回:
      参数的名称,由类文件提供或如果类文件未提供名称则合成。
    • getParameterizedType

      public Type  getParameterizedType()
      返回一个 Type 对象,该对象标识此 Parameter 对象表示的参数的参数化类型。
      返回:
      一个 Type 对象标识此对象表示的参数的参数化类型
    • getType

      public Class <?> getType()
      返回一个 Class 对象,该对象标识此 Parameter 对象表示的参数的声明类型。
      返回:
      一个 Class 对象,标识此对象表示的参数的声明类型
    • getAnnotatedType

      public AnnotatedType  getAnnotatedType()
      返回一个 AnnotatedType 对象,该对象表示使用类型来指定此 Parameter 表示的形式参数的类型。
      返回:
      一个 AnnotatedType 对象,表示使用类型来指定此 Parameter 表示的形式参数的类型
    • isImplicit

      public boolean isImplicit()
      如果此参数在源代码中隐式声明,则返回 true;否则返回 false
      返回:
      当且仅当此参数隐式声明为由定义时为真Java 语言规范.
    • isSynthetic

      public boolean isSynthetic()
      如果此参数在源代码中既未隐式也未显式声明,则返回 true;否则返回 false
      返回:
      当且仅当此参数是一个由定义的合成构造时才为真Java 语言规范.
      Java 语言规范:
      13.1 二进制形式
      参见:
    • isVarArgs

      public boolean isVarArgs()
      如果此参数表示可变参数列表,则返回 true;否则返回 false
      返回:
      true if 仅当此参数表示可变参数列表时。
    • getAnnotation

      public <T extends Annotation > T getAnnotation(Class <T> annotationClass)
      如果此类注解为 present ,则返回此元素针对指定类型的注解,否则为 null。

      请注意,此方法返回的任何注解都是声明注解。

      指定者:
      getAnnotation 在接口 AnnotatedElement
      类型参数:
      T - 要查询并返回的注释类型(如果存在)
      参数:
      annotationClass——注解类型对应的Class对象
      返回:
      如果此元素上存在此元素的指定注解类型的注解,则为 null
      抛出:
      NullPointerException - 如果给定的注释类为 null
    • getAnnotationsByType

      public <T extends Annotation > T[] getAnnotationsByType(Class <T> annotationClass)
      返回带有此元素的 associated 注释。如果这个元素没有注解associated,返回值是一个长度为0的数组。这个方法和AnnotatedElement.getAnnotation(Class) 的区别是这个方法检测它的参数是否是一个repeatable annotation type(JLS 9.6),如果是,则尝试寻找通过“查看”容器注解来查看该类型的一个或多个注释。该方法的调用者可以自由修改返回的数组;它不会影响返回给其他调用者的数组。

      请注意,此方法返回的任何注释都是声明注解。

      指定者:
      getAnnotationsByType 在接口 AnnotatedElement
      类型参数:
      T - 要查询并返回的注释类型(如果存在)
      参数:
      annotationClass——注解类型对应的Class对象
      返回:
      如果与此元素相关联,则为指定注解类型的所有此元素的注释,否则为长度为零的数组
      抛出:
      NullPointerException - 如果给定的注释类为 null
    • getDeclaredAnnotations

      public Annotation [] getDeclaredAnnotations()
      返回此元素上的 directly present 注释。此方法忽略继承的注释。如果该元素上没有注解directly present,则返回值为长度为0的数组。该方法的调用者可以自由修改返回的数组;它不会影响返回给其他调用者的数组。

      请注意,此方法返回的任何注释都是声明注解。

      指定者:
      getDeclaredAnnotations 在接口 AnnotatedElement
      返回:
      注释直接出现在这个元素上
    • getDeclaredAnnotation

      public <T extends Annotation > T getDeclaredAnnotation(Class <T> annotationClass)
      如果此类注解为 directly present ,则返回此元素针对指定类型的注解,否则为 null。此方法忽略继承的注释。 (如果没有注释直接出现在该元素上,则返回 null。)

      请注意,此方法返回的任何注解都是声明注解。

      指定者:
      getDeclaredAnnotation 在接口 AnnotatedElement
      类型参数:
      T - 如果直接存在则查询并返回的注解类型
      参数:
      annotationClass——注解类型对应的Class对象
      返回:
      如果直接出现在此元素上,则此元素针对指定注解类型的注解,否则为 null
      抛出:
      NullPointerException - 如果给定的注释类为 null
    • getDeclaredAnnotationsByType

      public <T extends Annotation > T[] getDeclaredAnnotationsByType(Class <T> annotationClass)
      如果此类注解是 directly presentindirectly present ,则返回此元素的指定类型的注解。此方法忽略继承的注释。如果没有指定的注解直接或间接出现在这个元素上,返回值是一个长度为0的数组。这个方法和AnnotatedElement.getDeclaredAnnotation(Class) 的区别是这个方法检测它的参数是否是一个repeatable annotation type(JLS 9.6),如果是,尝试通过“查看”容器注解(如果存在)来查找该类型的一个或多个注释。该方法的调用者可以自由修改返回的数组;它不会影响返回给其他调用者的数组。

      请注意,此方法返回的任何注释都是声明注解。

      指定者:
      getDeclaredAnnotationsByType 在接口 AnnotatedElement
      类型参数:
      T - 如果直接或间接存在,要查询并返回的注释类型
      参数:
      annotationClass——注解类型对应的Class对象
      返回:
      如果直接或间接出现在该元素上,则指定注解类型的所有该元素的注释,否则为长度为零的数组
      抛出:
      NullPointerException - 如果给定的注释类为 null
    • getAnnotations

      public Annotation [] getAnnotations()
      返回此元素上的 present 注释。如果该元素上没有注解present,则返回值为长度为0的数组。该方法的调用者可以自由修改返回的数组;它不会影响返回给其他调用者的数组。

      请注意,此方法返回的任何注释都是声明注解。

      指定者:
      getAnnotations 在接口 AnnotatedElement
      返回:
      此元素上的注释