这是否允许在Scala代码中使用:
DomNode node = node.getFirstChild()
其中DomNode是来自外部java库的Java类型,getFirstChild()是在DomNode类型上定义的。
我正在将现有的java程序移植到scala,如果我保留原始的java declerations,这将是非常方便的,以尽量减少移植工作。
答案 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
我自己从未尝试过......