Module jdk.jshell
Package jdk.jshell

Class Snippet

java.lang.Object
jdk.jshell.Snippet
直接已知的子类:
ErroneousSnippet, ExpressionSnippet, PersistentSnippet, StatementSnippet

public abstract class Snippet extends Object
一个 Snippet 代表作为传递给 JShell.eval(java.lang.String) 的一段 Java 源代码。它仅与创建它的 JShell 实例相关联。Snippet 的实例(包括其子类)是不可变的:对其任何方法的访问将始终返回相同的结果。要了解 JShell 状态引擎中片段的当前状态信息,请查询传递 Snippet 的 JShell

由于它是不可变的,Snippet(及其子类)是线程安全的。

自 JDK 版本:
9
参见:
  • Method Details

    • id

      public String id()
      片段的唯一标识符。没有两个活动片段会具有相同的 id()。id 的值没有规定的含义。有关如何生成 id 以及更改 id 的机制的详细信息,请参阅 JShell.Builder.idGenerator(BiFunction) 中的文档。
      返回:
      片段 id 字符串。
    • kind

      public Snippet.Kind kind()
      片段的 Snippet.Kind。指示 Snippet 的子类。
      返回:
      片段的类型
      参见:
    • subKind

      public Snippet.SubKind subKind()
      返回片段的 Snippet.SubKind。SubKind 对于向用户提供反馈很有用。
      返回:
      对应于此片段的 SubKind
    • source

      public String source()
      返回片段的源代码。
      返回:
      对应于此片段的源代码