我们可以使用scala来调试Java程序

Gee*_*eek 4 java scala

我是一名高级Java职位的候选人,他提到他们广泛使用scala命令提示来调试Java程序.他说甚至可以直接从scala命令提示符调用Java函数.

我从未使用scala,所以我无法验证他的评论.这可能是因为它们都在JVM本身上运行.

快速谷歌搜索没有给出任何指示.

是否真的可以从scala调试Java函数.有人可以给我指点.

提前致谢.

om-*_*nom 8

是的,你可以,但你必须使用scala语法:

:: ~ » scala                                                                               
Welcome to Scala version 2.10.4 (Java HotSpot(TM) 64-Bit Server VM, Java 1.7.0_25).
Type in expressions to have them evaluated.
Type :help for more information.

scala> val x = new java.io.File("/tmp/foo")
x: java.io.File = /tmp/foo

scala> x.length
res0: Long = 24777
Run Code Online (Sandbox Code Playgroud)

这里我使用scala REPL捆绑了scala发行版,但事实上,你可以使用sbt(scala analog to maven)命令,这样所有项目类都可以立即在类路径上使用:

sbt
console
.... // using java code, just like any other jvm code
Run Code Online (Sandbox Code Playgroud)

可以将vanila REPL用于相同的目的,但您必须手动重建类路径:

scala -classpath ...
Run Code Online (Sandbox Code Playgroud)

是的,正如@Boris在评论中提到的,IDE(最初是Eclipse,但现在也是IDEA)拥有自己的这种功能 - 内置交互式工作表(必须安装相关的插件):

在此输入图像描述

  • 所以你可能是OP采访过的人.@Geek,当心:D (3认同)