范围类:java互操作性

时间:2014-03-09 22:07:14

标签: java scala interop

为什么这不起作用?在Java代码中:

import scala.collections.immutable.Range;

// ...

Range r = Range.apply(0, 10)

Eclipse说:

  

方法apply(int)在类型Range中不适用于参数(int,int)

SBT说:

  

错误:类适用于类Range不能应用于给定类型;

但是, 是Scala API的collections.immutable.Range对象中的apply(Int,Int)方法。

1 个答案:

答案 0 :(得分:3)

这是因为您从Range class 调用apply(int)方法。您应该从the companion object致电 apply(int,int)

import scala.collection.immutable.Range$;
// ...
Range r = Range$.MODULE$.apply(0, 10)

另请参阅this Q&A了解一般信息。