相关疑难解决方法(0)

协变型T出现在逆变位置

我知道之前已经问过这个问题,但是答案不适用于这种情况,或者我不理解它们.

基本上,为什么以下(重新创建我的问题的简单示例)不起作用?

class Test[+T] {
    var list: List[T] = _
}
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是我有一个对象,我想传递一个Test [Nothing]的实例(空的测试),除非我在T中使用Test co-variant,否则这不起作用.

scala

18
推荐指数
1
解决办法
5367
查看次数

Scala选项:地图与模式匹配

Option在Scala 处理时,我应该考虑哪些事情来决定是映射还是模式匹配?例如,如果我有Option[MyClass],我可以通过以下方式处理它:

def getList(myOptionInstance: Option[MyClass]): List[String] =
  myOptionInstance map (...) getOrElse(List.empty[String])
Run Code Online (Sandbox Code Playgroud)

要么

def getList(myOptionInstance: Option[MyClass]): List[String] = myOptionInstance match {
  case Some(mySomeInstance) => .....
  case None => List.empty[String]
}
Run Code Online (Sandbox Code Playgroud)

我何时会选择一个而不是另一个?

scala

13
推荐指数
2
解决办法
1万
查看次数

标签 统计

scala ×2