我正在采访一位高级Java职位的候选人,他提到他们广泛使用scala命令提示来调试Java程序。他说甚至可以直接从scala命令提示符调用Java函数。
我从未使用scala,所以我无法验证他的评论。这可能是因为它们都在JVM上运行。
快速谷歌搜索没有给出任何指示。
是否真的可以从scala调试Java函数。有人可以给我指点。
提前致谢。
答案 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)拥有自己的这种功能 - 内置交互式工作表(必须安装相关的插件) ):