在Scala中,我該如何聲明一個可容納任何東西的Java列表?如果我試圖把一個元組在它Scala - 聲明一個可容納任何東西的Java列表
列表[對象]得到不高興,斯卡拉錯誤說
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)
我不知道這意味着什麼,我怎麼申報清單持有三(或元組,或任何)
我的代碼看起來是這樣的(這是捻,所以它有@,但它僅僅是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))
}
編譯器說'你可能希望調查通配符類型 ,如_ <:Object'。你嘗試過嗎? – danielnixon
我不認爲你正在顯示產生實際錯誤的代碼。 –