我正在尝试使用jshell,但找不到粘贴多行表达式的选项。甚至可以在jshell中粘贴多行。与scala在paste mode
中提供的内容类似。
答案 0 :(得分:11)
所以如果你有这样的代码:
int c = 2;
int j = 4;
int x = 5;
复制并粘贴到jshell中,只处理前两个语句。
但如果你有这样的代码:
int c = 2; int j = 4; int x = 5;
并粘贴到jshell:
jshell> int c = 2; int j = 4; int x = 5;
c ==> 2
j ==> 4
x ==> 5
更多代码如下:
HashMap<Integer, Integer> map2 = new HashMap<>(); for (int i = 0; i < 15; ++i) { map2.put(i, i);map2.put(i, i); } System.out.println(map2);
实际上会有效。
为什么?我不知道。
我知道复制/粘贴的唯一方法是通过(在jshell中输入):
/编辑
您可以根据需要进行粘贴。
答案 1 :(得分:5)
我试过了,只处理了前两行。最后还尝试使用额外的换行符和三行以上,并且仍然只处理了前两行。我不知道为什么,但我怀疑这是一个错误。
答案 2 :(得分:4)
This was a bug. It has been fixed: https://bugs.openjdk.java.net/browse/JDK-8169595
答案 3 :(得分:2)