【发布时间】:2014-09-19 21:30:17
【问题描述】:
作为尝试了解 scala 的异同的一部分,我试图了解 Java“Object”类型的等价物。
如果我有一个 Scala 列表 List[TYPE],那么 Type 必须是什么才能支持以下任何一项 整数,任意,(整数,任意))。
注意:我知道这是一种糟糕(可怕)的编程技术,但它有助于我理解。
我最初认为 List[Any] 可以工作,但无法让它适用于所有情况:
[error] found : org.apache.spark.rdd.RDD[Any]
[error] required: org.apache.spark.rdd.RDD[(Any, ?)]
同样
[error] found : org.apache.spark.rdd.RDD[(Any, (Any, Any))] [error] required: org.apache.spark.rdd.RDD[Any] [error] Note: (Any, (Any, Any)) <: Any, but class RDD is invariant in type T.
如果 Any 是一切的超类型,为什么要在这里提到不变量?
【问题讨论】: