- java.lang.Object
-
- java.lang.Enum<Snippet.Kind>
-
- jdk.jshell.Snippet.Kind
-
- 实现的所有接口
-
Serializable
,Comparable<Snippet.Kind>
- Enclosing class:
- Snippet
public static enum Snippet.Kind extends Enum<Snippet.Kind>
描述了一般类型的代码段。Kind
是Snippet的不可变属性。 可通过Snippet.kind()
访问。Kind
可用于确定它的Snippet的哪个子类。 例如,eval("int three() { return 3; }")
将返回片段创建事件。 该片段的Kind
将是METHOD
,从中您知道Snippet
的子类是MethodSnippet
,它可以像这样进行转换。
-
-
方法摘要
所有方法 静态方法 实例方法 具体的方法 变量和类型 方法 描述 boolean
isPersistent()
指示此片段的Kind
是否为持久性。static Snippet.Kind
valueOf(String name)
返回具有指定名称的此类型的枚举常量。static Snippet.Kind[]
values()
按照声明的顺序返回一个包含此枚举类型常量的数组。
-
-
-
Enum Constant Detail
-
IMPORT
public static final Snippet.Kind IMPORT
导入声明:import
...该片段是ImportSnippet
的实例。导入可以是单一类型导入(
Snippet.SubKind.SINGLE_TYPE_IMPORT_SUBKIND
),静态单一导入(Snippet.SubKind.SINGLE_STATIC_IMPORT_SUBKIND
),按需类型导入(Snippet.SubKind.TYPE_IMPORT_ON_DEMAND_SUBKIND
),或静态按需类型导入(Snippet.SubKind.SINGLE_STATIC_IMPORT_SUBKIND
) - 使用Snippet.subKind()
进行区分。- See The Java™ Language Specification:
-
8.3:importDeclaration。
进口申报是persistent 。
-
TYPE_DECL
public static final Snippet.Kind TYPE_DECL
类型声明。 其中包括:NormalClassDeclaration,EnumDeclaration,NormalInterfaceDeclaration和AnnotationTypeDeclaration。 该片段是TypeDeclSnippet
的实例。类型声明可以是接口
Snippet.SubKind.INTERFACE_SUBKIND
,类Snippet.SubKind.CLASS_SUBKIND
,枚举和注释接口 - 参见Snippet.SubKind
以区分。- See The Java™ Language Specification:
-
7.6:TypeDeclaration。
类型声明是persistent 。
-
METHOD
public static final Snippet.Kind METHOD
方法声明。 该片段是MethodSnippet
的一个实例。- See The Java™ Language Specification:
-
8.4:MethodDeclaration。
方法声明是persistent 。
-
VAR
public static final Snippet.Kind VAR
一个变量声明。 对应一个VariableDeclarator 。 该片段是VarSnippet
的一个实例。变量可以带或不带初始化器,或者是表示表达式的临时变量 - 参见
Snippet.SubKind
进行区分。- See The Java™ Language Specification:
-
8.3:FieldDeclaration。
变量声明是persistent 。
-
EXPRESSION
public static final Snippet.Kind EXPRESSION
表达式,有或没有副作用。 该代码段是ExpressionSnippet
的一个实例。表达式当前是对变量的简单命名引用(
Snippet.SubKind.VAR_VALUE_SUBKIND
)或赋值(两者都具有自然引用名称) - 请参阅Snippet.SubKind
进行区分。 所有其他表达式(运算符,方法调用,...)生成一个临时变量,因此代替VAR类。- See The Java™ Language Specification:
- 15:表达。
-
STATEMENT
public static final Snippet.Kind STATEMENT
一份声明。 该片段是StatementSnippet
的实例。- See The Java™ Language Specification:
- 14.5:声明。
-
ERRONEOUS
public static final Snippet.Kind ERRONEOUS
语法错误的输入,无法确定特定类型。 该片段是ErroneousSnippet
的一个实例。
-
-
方法详细信息
-
values
public static Snippet.Kind[] values()
按照声明的顺序返回一个包含此枚举类型常量的数组。 此方法可用于迭代常量,如下所示:for (Snippet.Kind c : Snippet.Kind.values()) System.out.println(c);
- 结果
- 包含此枚举类型常量的数组,按声明的顺序排列
-
valueOf
public static Snippet.Kind valueOf(String name)
返回具有指定名称的此类型的枚举常量。 该字符串必须与用于声明此类型中的枚举常量的标识符完全匹配。 (不允许使用无关的空白字符。)- 参数
-
name
- 要返回的枚举常量的名称。 - 结果
- 具有指定名称的枚举常量
- 异常
-
IllegalArgumentException
- 如果此枚举类型没有指定名称的常量 -
NullPointerException
- 如果参数为null
-
isPersistent
public boolean isPersistent()
指示此片段的Kind
是否持久。 只有声明才会持久,因为它们会影响未来的Snippets。请注意,虽然Snippet的
Kind
可能是持久的,但这并不意味着Snippet会持久存在; 例如,它可能无效或已被删除。 见:Snippet.Status.isDefined()
。- 结果
-
true
若Kind
ofSnippet
后续评估可见, 否则false
-
-