如何在Java 9中以编程方式创建JShell实例?

JShell 是自Java 9以来引入的交互式工具。它是Java的第一个官方REPL工具,用于在命令行中创建简单的编程环境,以读取用户的输入,对其进行评估并打印结果。

我们可以用Java语言以编程方式创建一个 新的JShell实例 。可以在jdk.jshell 包中找到JShell及其关联的API 。我们可以使用静态方法:JShell类的create()获得JShell的新实例。JShell类的eval()方法用于向JShell实例添加表达式。它返回评估触发的事件列表。就像表达式语句方法变量 声明import 语句一样,它只是一个片段Ë ACH SnippetEvent从创建的eval()方法通过使用SnippetEvent.value()检查表达式的输出。

示例

import java.util.List;
import jdk.jshell.*;

public class JShellTest {
   public static void main(String args[]) {
      JShell jshell = JShell.create();
      List<SnippetEvent> list = jshell.eval("int x = 7+3*4;");
      System.out.println("Size of list: " + list.size());
      System.out.println("Value of the expression is : " + list.get(0).value());
   }
}

输出结果

Size of snippetEventList : 1
Value of the expression is : 19