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

时间:2014-05-19 07:09:21

标签: java scala

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

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

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

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

提前致谢。

1 个答案:

答案 0 :(得分: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

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

sbt
console
.... // using java code, just like any other jvm code

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

scala -classpath ...

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

enter image description here