在Scala程序中混合使用Java代码?

时间:2011-06-15 12:49:18

标签: scala

这是否允许在Scala代码中使用:

DomNode node = node.getFirstChild()

其中DomNode是来自外部java库的Java类型,getFirstChild()是在DomNode类型上定义的。

我正在将现有的java程序移植到scala,如果我保留原始的java declerations,这将是非常方便的,以尽量减少移植工作。

2 个答案:

答案 0 :(得分:19)

您可以在Scala程序中使用Java类,但您必须使用Scala语法:

val node: DomNode = node.getFirstChild()

您不能以Type variableName形式使用Java语法。

编辑(感谢ericacm) - 您也可以指定

val node = node.getFirstChild()

所以你不必明确指定node的类型;你可以让Scala推断出这种类型。

答案 1 :(得分:12)

IntelliJ IDEA可以为您从Java转换为Scala。如果您将Java代码粘贴到“.scala”文件中,IntelliJ IDEA会通知它并询问您是否要尝试自动转换。你可能想要check it out

PS

我自己从未尝试过......