JShell如何查找变量或结果的类型

时间:2018-02-05 18:33:25

标签: java jshell

如何在JShell中找到变量或表达式结果的类型。

正在用Java试验Bitwise Operators

jshell> byte b=5<<-1;
|  Error:
|  incompatible types: possible lossy conversion from int to byte
|  byte b=5<<-1;
|         ^---^

jshell> 5<<-1
$2 ==> -2147483648

jshell>

是否有像Python类型(5&lt;&lt; -1)这样的替代方法可以在Jshell中找到表达式或变量的结果类型。

2 个答案:

答案 0 :(得分:5)

刚想通过设置反馈模式可以解决这个问题。

/set feedback verbose

参考https://docs.oracle.com/javase/9/jshell/feedback-modes.htm

现在可以在响应中轻松找到表达式或变量的类型。

jshell> 5<<-1
$15 ==> -2147483648
|  created scratch variable $15 : int

可以使用命令

重置模式
/set feedback normal

,只需调用

即可查询当前模式
/set feedback

答案 1 :(得分:1)

我找到了一种明确的方法(我正在使用JDK11运行) 使用/ vars命令

|  Welcome to JShell -- Version 11
|  For an introduction type: /help intro

jshell> 5<<-1
$1 ==> -2147483648

jshell> /vars
|    int $1 = -2147483648