Java 9中REPL的不同状态是什么?
REPL 代表Read-Evaluate-Print-Loop。它包含一些状态,并且JShell中的每个语句都有一个状态。此状态拒绝代码段和变量的执行状态。它可以由JShell 实例的eval()方法的结果确定,该方法评估代码。
下面列出了七个不同的状态。
删除:此代码段无效。
NONEXISTENT:该片段是无效,因为它还不存在。
覆盖:该代码段无效,因为它已被新代码段替换。
RECOVERABLE_DEFINED:此代码段是一个声明代码段,其主体中可能包含未解决的引用或其他问题。
RECOVERABLE_NOT_DEFINED:该代码段是一个声明代码段,具有可能可恢复的未解决的引用或其他问题。
拒绝:该代码段处于非活动状态,因为编译在初始评估时失败,并且无法通过进一步更改JShell状态使其变得有效。
有效:该代码段是有效的代码段。
示例
import java.util.List;
import jdk.jshell.*;
import jdk.jshell.Snippet.Status;
public class JShellTest {
public static void main(String args[]) {
JShell shell = JShell.create();
List<SnippetEvent> events = shell.eval("int a, b, sum; " + "a = 12; b = 11; sum = a + b; " +
"System.out.println(sum);" );
for(SnippetEvent event : events) {
Snippet snippet = event.snippet();
Snippet.Status snippetstatus = shell.status(snippet);
if(snippetstatus == Status.VALID) {
System.out.println("Successfully executed");
}
}
}
}输出结果
Successfully executed Successfully executed Successfully executed
热门推荐
10 小红书平安祝福语简短
11 生日祝福语大全女孩简短
12 收生日红包祝福语 简短
13 领证幽默祝福语简短
14 法考面试祝福语简短
15 老哥出门祝福语简短语
16 送灯祝福语简短独特
17 幼儿狗年祝福语大全简短
18 好听的元旦简短祝福语