我们能用scala调试Java程序吗

我们能用scala调试Java程序吗,java,scala,Java,Scala,我正在面试一位高级java职位的候选人,他提到他们广泛使用scala命令提示符来调试java程序。他说甚至可以直接从scala命令提示符调用Java函数 我从未使用过scala,因此无法验证他的评论。这可能是因为它们都在JVM本身上运行 快速的谷歌搜索并没有给出任何指向这一点的指针 是否真的可以从scala调试Java函数。有人能给我一些相同的提示吗 提前感谢。是的,您可以,但您必须使用scala语法: :: ~ » scala

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

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

快速的谷歌搜索并没有给出任何指向这一点的指针

是否真的可以从scala调试Java函数。有人能给我一些相同的提示吗


提前感谢。

是的,您可以,但您必须使用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 REPL,它与scala发行版捆绑在一起,但事实上,您可以使用sbt(scala analog to maven)命令,以便所有项目类在类路径上立即可用:

sbt
console
.... // using java code, just like any other jvm code
出于同样的目的,可以使用vanila REPL,但必须手动重建类路径:

scala -classpath ...
是的,正如@Boris在评论中提到的,IDE(,但是)有它自己的方式来实现这一功能——内置的交互式工作表(必须安装相关插件):


是的。只需将Java类导入REPL,就可以了。嘿,蜘蛛侠,谢谢你的快速响应…-)你有一个我可以从那里开始的URL。你也可以提到(惊人的)Scala工作表。所以你可能就是OP采访过的人@极客,当心:D