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

标签 java 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 发行版捆绑在一起的 scala REPL,但实际上,您可以使用 sbt(scala 模拟 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

关于java - 我们可以使用scala来调试Java程序吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23731715/

相关文章:

java泛型问题

scala - 类型类和依赖类型

java - 如何在android中序列化 View 对象

java - 如何验证密码而不将其未加密发送到服务器

java - 如何导入org.opencv.android.JavaCameraView?

java - 如何将我的 rtmp url 发布到 red5?

scala - Scala 2.10中的错误是Iterator.size吗?

scala - 如何将 Scala HTTP4S 应用程序部署到 Heroku?

Scala - 处理 "multiple overloaded alternatives of method ... define default arguments"

scala - 从两个列表中创建所有对的列表