scala - 如何初始化协变变量?

标签 scala covariance

class C [+T] { var v : T = _ }
编译器错误:协变类型 T 出现在值 value_= 的类型 T 中的逆变位置

为什么?我该如何解决?

最佳答案

您可以将其声明为 private[this] :

class C [+T] { private[this] var v : T = _ }

您尝试使用此范围不允许的任何用法对于协变 T 都是不安全的。 .

关于scala - 如何初始化协变变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8473416/

相关文章:

scala - 获取案例类参数和类型

scala - 是否可以为顶点中的标签建立索引

scala - 使用 Spark Streaming 从 Cassandra 读取

scala - 如何比较scala中两种不同类型的对象?

java - 使用 Java 中的字段继承 Scala 特征

c# - T 必须逆变有效

c++ - 虚拟的弃用协变返回类型

covariance - 有人可以解释类型协方差/逆变和范畴论之间的联系吗?

computer-vision - 如何使用PCL库从点云数据中获取协方差矩阵?

typescript - 协方差/反方差中的意外行为,如 typescript 的分配