在 Scala 中,我如何声明一个可以容纳任何东西的 Java 列表?
如果我尝试在其中放入一个元组,List[Object] 会感到不安,Scala 错误说
type mismatch; found : java.util.List[Triple[Integer,Integer, Integer]] required:
java.util.List[Object] Note: Triple[Integer,Integer, Integer] <: Object, but Java-defined
trait List is invariant in type E. You may wish to investigate a wildcard type
such as `_ <: Object`. (SLS 3.2.10)
我不知道这意味着什么,我如何声明列表以保存三元组(或元组,或任何东西)
我的代码看起来像这样(它是 twirl,所以它有 @,但它只是 Scala 代码):
@import java.util.List;
@(field:List[Object], min:Int=1)(f: Object, Int) => Html)
@{
(0 until math.max(if (field.isEmpty) 0 else field.size, min))
.map(i => f(field.get(i),i))
}