Module java.base

Enum Class DirectMethodHandleDesc.Kind

java.lang.Object
java.lang.Enum<DirectMethodHandleDesc.Kind>
java.lang.constant.DirectMethodHandleDesc.Kind
所有已实现的接口:
Serializable, Comparable<DirectMethodHandleDesc.Kind>, Constable
封装接口:
DirectMethodHandleDesc

public static enum DirectMethodHandleDesc.Kind extends Enum<DirectMethodHandleDesc.Kind>
可以使用DirectMethodHandleDesc描述的方法句柄种类。
自 JDK 版本:
12
  • Enum Constant Details

  • Field Details

    • refKind

      public final int refKind
      该方法句柄种类的refKind值,由MethodHandleInfo定义
    • isInterface

      public final boolean isInterface
      这是一个接口吗
  • Method Details

    • values

      public static DirectMethodHandleDesc.Kind[] values()
      返回一个数组,其中包含此枚举类的常量,按它们声明的顺序排列
      返回:
      一个数组,其中包含此枚举类的常量,按它们声明的顺序排列
    • valueOf

      public static DirectMethodHandleDesc.Kind valueOf(String name)
      返回具有指定名称的此类的枚举常量。字符串必须与在此类中声明枚举常量时使用的标识符完全匹配。(不允许存在多余的空格字符。)
      参数:
      name - 要返回的枚举常量的名称
      返回:
      具有指定名称的枚举常量
      抛出:
      IllegalArgumentException - 如果此枚举类没有具有指定名称的常量
      NullPointerException - 如果参数为null
    • valueOf

      public static DirectMethodHandleDesc.Kind valueOf(int refKind)
      返回具有给定refKind字段的枚举成员。行为就像valueOf(refKind, false)。作为特例,如果refKindREF_invokeInterface(9),则isInterface字段将为true。
      参数:
      refKind - 所需成员的refKind
      返回:
      匹配的枚举成员
      抛出:
      IllegalArgumentException - 如果没有这样的成员
    • valueOf

      public static DirectMethodHandleDesc.Kind valueOf(int refKind, boolean isInterface)
      返回具有给定refKindisInterface参数的枚举成员。对于大多数refKind值,无论isInterface的值如何,都有精确匹配。这些是:
      • REF_invokeVirtual匹配到VIRTUAL
      • REF_invokeInterface匹配到INTERFACE_VIRTUAL
      • REF_newInvokeSpecial匹配到CONSTRUCTOR
      • REF_getField匹配到GETTER
      • REF_putField匹配到SETTER
      • REF_getStatic匹配到STATIC_GETTER
      • REF_putStatic匹配到STATIC_SETTER
      至于其余的,返回的种类将取决于isInterface的值(相应地为false或true):
      • REF_invokeStatic匹配到STATICINTERFACE_STATIC
      • REF_invokeSpecial匹配到SPECIALINTERFACE_SPECIAL
      参数:
      refKind - 所需成员的refKind
      isInterface - 所需成员是否为接口方法
      返回:
      匹配的枚举成员
      抛出:
      IllegalArgumentException - 如果没有这样的成员