2010-06-03 52 views
4

我正在尝试从java程序中使用一些用scala编写的库代码。 我有一个返回数组(一阶阵列)的功能,我认为这将是可能做到使用java的Scala数组

Tree[] = ScalaObject.myScalaFunction() 

但我得到这个错误:

[error] found : scala.runtime.BoxedArray 
[error] required: org.grammaticalframework.Trees.Absyn.Tree[] 

什么是正确的方法在Java中使用一个scala数组?

+1

myScalaFunction()的外观如何? – sblundy 2010-06-03 13:13:55

+2

你使用scala 2.7吗?在scala2.8中,一个scala数组等于一个java数组。 – Eastsun 2010-06-03 13:22:17

+0

假设myScalaFunction()实际上正在返回一个Tree数组,您是否尝试过适当地转换返回的值? – 2010-06-03 13:23:21

回答

10

2.7,你应该能够

Tree[] t = (Tree)ScalaObject.myScalaFunction().unbox(Tree.class); 
在Java中

随着2.8,它会按你所希望的那样工作。