Module java.base
Package java.lang

Enum Class StackWalker.Option

java.lang.Object
java.lang.Enum<StackWalker.Option>
java.lang.StackWalker.Option
所有实现的接口:
Serializable, Comparable<StackWalker.Option>, Constable
封闭类:
StackWalker

public static enum StackWalker.Option extends Enum<StackWalker.Option>
配置由StackWalker获取的堆栈帧信息的堆栈行走器选项。
自 JDK 版本:
9
  • Enum Constant Details

    • RETAIN_CLASS_REFERENCE

      public static final StackWalker.Option RETAIN_CLASS_REFERENCE
      保留由此StackWalker行走的StackFrame中的Class对象。

      配置了此选项的StackWalker将支持StackWalker.getCallerClass()StackFrame.getDeclaringClass()

    • SHOW_REFLECT_FRAMES

      public static final StackWalker.Option SHOW_REFLECT_FRAMES
      显示所有反射帧。

      默认情况下,反射帧是隐藏的。配置了此SHOW_REFLECT_FRAMES选项的StackWalker将显示包括Method.invoke(java.lang.Object, java.lang.Object...)Constructor.newInstance(Object...)及其反射实现类在内的所有反射帧。

      也可以使用SHOW_HIDDEN_FRAMES选项来显示所有反射帧,它还将显示其他特定于实现的隐藏帧。

      API 注释:
      此选项包括表示调用MethodConstructor的堆栈帧。任何等效于调用Method.invokeConstructor.newInstance的实用方法,如Class.newInstance,都不受任何堆栈行走选项的过滤或控制。
    • SHOW_HIDDEN_FRAMES

      public static final StackWalker.Option SHOW_HIDDEN_FRAMES
      显示所有隐藏的帧。

      Java虚拟机实现可能会隐藏实现特定的帧,除了反射帧。具有此SHOW_HIDDEN_FRAMES选项的StackWalker将显示所有隐藏的帧(包括反射帧)。

  • Method Details

    • values

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

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