- 所有已实现的接口:
-
Serializable
,Comparable<DirectMethodHandleDesc.Kind>
,Constable
- 封装接口:
-
DirectMethodHandleDesc
可以使用DirectMethodHandleDesc描述的方法句柄种类。
- 自 JDK 版本:
- 12
-
Nested Class Summary
Nested classes/interfaces declared in class java.lang.Enum
Enum.EnumDesc<E extends Enum<E>>
-
Enum Constant Summary
Enum ConstantDescription用于构造函数的方法句柄用于实例字段的读取访问器的方法句柄用于像invokespecial
一样调用接口方法的方法句柄用于像invokestatic
一样调用方法的方法句柄用于像invokeinterface
一样调用方法的方法句柄用于实例字段的写入访问器的方法句柄用于像invokespecial
一样调用方法的方法句柄用于像invokestatic
一样调用方法的方法句柄用于静态字段的读取访问器的方法句柄用于静态字段的写入访问器的方法句柄用于像invokevirtual
一样调用方法的方法句柄 -
Field Summary
Modifier and TypeFieldDescriptionfinal boolean
这是一个接口吗final int
该方法句柄种类的refKind
值,由MethodHandleInfo
定义 -
Method Summary
Modifier and TypeMethodDescriptionstatic DirectMethodHandleDesc.Kind
valueOf
(int refKind) 返回具有给定refKind
字段的枚举成员static DirectMethodHandleDesc.Kind
valueOf
(int refKind, boolean isInterface) 返回具有给定refKind
和isInterface
参数的枚举成员static DirectMethodHandleDesc.Kind
返回具有指定名称的此类的枚举常量static DirectMethodHandleDesc.Kind[]
values()
返回一个数组,其中包含此枚举类的常量,按它们声明的顺序排列
-
Enum Constant Details
-
STATIC
用于像invokestatic
一样调用方法的方法句柄 -
INTERFACE_STATIC
用于像invokestatic
一样调用方法的方法句柄 -
VIRTUAL
用于像invokevirtual
一样调用方法的方法句柄 -
INTERFACE_VIRTUAL
用于像invokeinterface
一样调用方法的方法句柄 -
SPECIAL
用于像invokespecial
一样调用方法的方法句柄 -
INTERFACE_SPECIAL
用于像invokespecial
一样调用接口方法的方法句柄 -
CONSTRUCTOR
用于构造函数的方法句柄 -
GETTER
用于实例字段的读取访问器的方法句柄 -
SETTER
用于实例字段的写入访问器的方法句柄 -
STATIC_GETTER
用于静态字段的读取访问器的方法句柄 -
STATIC_SETTER
用于静态字段的写入访问器的方法句柄
-
-
Field Details
-
refKind
public final int refKind该方法句柄种类的refKind
值,由MethodHandleInfo
定义 -
isInterface
public final boolean isInterface这是一个接口吗
-
-
Method Details
-
values
返回一个数组,其中包含此枚举类的常量,按它们声明的顺序排列- 返回:
- 一个数组,其中包含此枚举类的常量,按它们声明的顺序排列
-
valueOf
返回具有指定名称的此类的枚举常量。字符串必须与在此类中声明枚举常量时使用的标识符完全匹配。(不允许存在多余的空格字符。)- 参数:
-
name
- 要返回的枚举常量的名称 - 返回:
- 具有指定名称的枚举常量
- 抛出:
-
IllegalArgumentException
- 如果此枚举类没有具有指定名称的常量 -
NullPointerException
- 如果参数为null
-
valueOf
返回具有给定refKind
字段的枚举成员。行为就像valueOf(refKind, false)
。作为特例,如果refKind
是REF_invokeInterface
(9),则isInterface
字段将为true。- 参数:
-
refKind
- 所需成员的refKind - 返回:
- 匹配的枚举成员
- 抛出:
-
IllegalArgumentException
- 如果没有这样的成员
-
valueOf
返回具有给定refKind
和isInterface
参数的枚举成员。对于大多数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
匹配到STATIC
或INTERFACE_STATIC
REF_invokeSpecial
匹配到SPECIAL
或INTERFACE_SPECIAL
- 参数:
-
refKind
- 所需成员的refKind -
isInterface
- 所需成员是否为接口方法 - 返回:
- 匹配的枚举成员
- 抛出:
-
IllegalArgumentException
- 如果没有这样的成员
-