模块 java.base

枚举类枚举类 MethodHandles.Lookup.ClassOption

java.lang.Object
java.lang.Enum <MethodHandles.Lookup.ClassOption >
java.lang.invoke.MethodHandles.Lookup.ClassOption
所有已实现的接口:
Serializable , Comparable<MethodHandles.Lookup.ClassOption> , Constable
封闭类:
MethodHandles.Lookup

public static enum MethodHandles.Lookup.ClassOption extends Enum <MethodHandles.Lookup.ClassOption >
一组类选项,指定由 Lookup::defineHiddenClass 方法创建的隐藏类是否作为新成员动态添加到查找类的嵌套和/或隐藏类是否与标记为其定义加载器的类加载器有很强的关系。
自从:
15
  • 枚举常量详细信息

    • NESTMATE

      public static final MethodHandles.Lookup.ClassOption  NESTMATE
      指定将隐藏类作为 nestmate 添加到查找类的

      隐藏的内部类可以访问同一嵌套中所有类和接口的私有成员。

      参见:
    • STRONG

      public static final MethodHandles.Lookup.ClassOption  STRONG
      指定隐藏类与标记为其定义加载器的类加载器具有 strong 关系,就像普通类或接口具有其自己的定义加载器一样。这意味着当且仅当隐藏类的定义加载器不可访问时,隐藏类才可能被卸载,因此可能会被垃圾收集器 (JLS 12.7) 回收。

      默认情况下,即使标记为定义加载器的类加载器是 可达的 ,也可以卸载隐藏类或接口。

      Java 语言规范:
      12.7 类和接口的卸载
  • 方法详情

    • values

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

      public static MethodHandles.Lookup.ClassOption  valueOf(String  name)
      返回具有指定名称的此类的枚举常量。字符串必须匹配确切地用于在此类中声明枚举常量的标识符。 (不允许使用无关的空白字符。)
      参数:
      name - 要返回的枚举常量的名称。
      返回:
      具有指定名称的枚举常量
      抛出:
      IllegalArgumentException - 如果此枚举类没有具有指定名称的常量
      NullPointerException - 如果参数为空