- java.lang.Object
-
- java.lang.Enum<Snippet.Kind>
-
- jdk.jshell.Snippet.Kind
-
- All Implemented Interfaces:
-
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
段的Kind
将为METHOD
,您可以METHOD
知道Snippet
的子类是MethodSnippet
,并且可以这样转换。
-
-
方法摘要
所有方法 静态方法 接口方法 具体的方法 Modifier and Type 方法 描述 boolean
isPersistent()
指示这个Snippet的这个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
进行区分。 所有其他表达式表单(运算符,方法调用...)生成一个scratch变量,而不是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
- 如果参数为空
-
isPersistent
public boolean isPersistent()
指示这个代码片段是否持续存在Kind
。 只有声明是持久的,因为它们影响未来的片段。请注意,虽然Snippet的
Kind
可能持续存在,但这并不意味着Snippet将持续存在; 例如,它可能无效或被丢弃。 参见:Snippet.Status.isDefined()
。- 结果
-
true
如果Kind
的Snippet
对后续评估可见; 否则false
-
-