我是Scala的新手,我一直在尝试使用Java实现的库bridj 这是代码(allocateFloats是类org.bridj.Pointer中的方法)
import org.bridj.Pointer
import org.bridj.Pointer._
class EstimatingPi {
def main(args: Array[String]) {
val n: Int = 1024
val aPtr : Pointer[Float] = allocateFloats(n)
}
}
这将导致“类型指针[Float]的表达式不符合预期类型指针[Float]”。但是如果我没有指定aPtr的类型,如下所示,代码就会编译。
val aPtr = allocateFloats(n)
我试图在线找到解决方案,但问题大多是“类型someClass [T1]的表达式不符合预期类型someClass [T2]”。但在我的情况下,它们是相同的类型 我真的很感激任何帮助。
答案 0 :(得分:1)
其中一个可能是java.lang.Float
。你可能需要
val aPtr: Pointer[java.lang.Float] = allocateFloats(n)
如果allocateFloats
文档中不明显,您可以通过执行类似
allocateFloats(0).getClass.getName
会在之前和[L
之后为您提供;
的全名,例如
[Ljava.lang.Float;