JShell How to find the type of Variable or Result

∥☆過路亽.° 提交于 2020-07-06 10:42:07

问题


How to find the type of a variable or Expression Result in JShell.

Was experimenting Bitwise Operators in Java

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>

Is there an alternative like Python type(5<<-1) to find the result type of expression or variable in Jshell.


回答1:


Just figured out it can be solved by setting the feedback mode.

/set feedback verbose

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

Now can easily find the type of an expression or variable in the response.

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

The mode can be reset by using the command

/set feedback normal

and the current mode can be queried by simply calling

/set feedback



回答2:


I found an explicit way to do this (I'm running with JDK11) using the /vars command

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

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

jshell> /vars
|    int $1 = -2147483648


来源:https://stackoverflow.com/questions/48629237/jshell-how-to-find-the-type-of-variable-or-result

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!