为什么我的jshell实例(JDK Version 9-ea)无法识别printf()语句?以下是我观察到的错误,
jshell> printf("Print number one - %d",1)
| Error:
| cannot find symbol
| symbol: method printf(java.lang.String,int)
| printf("Print number one - %d",1)
| ^----^
Run Code Online (Sandbox Code Playgroud)
我可以访问printf,只要我以常规方式指定它.
jshell> System.out.printf("Print number one - %d",1)
Print number one - 1$1 ==> java.io.PrintStream@1efbd816
Run Code Online (Sandbox Code Playgroud)
有什么指针吗?
早期版本的JShell有一个printf预定义的方法,但它已从早期访问版本中删除.您当然可以定义自己的printf方法:
jshell> void printf(String format, Object... args) { System.out.printf(format, args); }
Run Code Online (Sandbox Code Playgroud)
或者,您可以通过启动JShell来获取早期版本中的打印方法:
jshell --start DEFAULT --start PRINTING
Run Code Online (Sandbox Code Playgroud)
(如果您只使用--start PRINTING,则不会获得默认导入.)
有关更多信息,请参阅Java错误数据库中的错误JDK-8172102和实现它的变更集b2e915d476be.
| 归档时间: |
|
| 查看次数: |
451 次 |
| 最近记录: |