如何定义该方法返回List [+ AnyRef]?我试过了:方法返回类型协方差
def a[T <: AnyRef](): List[T] = List[AnyRef]()
但是由于某种原因它不能编译。
编辑: 根据黄先生,我应该使用
def a[T <: AnyRef](): List[T] = List[T]()
,但有什么办法能够回到AnyRef的任何亚型,例如
def a[T <: AnyRef](): List[T] = if (value) List[T]() else List[Option[String]]()
以下选项[字符串]是Anyref的后代,但编译器不接受它
所以主要问题是如果我可以声明方法d与协变返回类型像列表[+ AnyRef]
如果编译器无法弄清楚你想要什么,我们应该如何解决它? – 2011-02-09 06:44:42
你可以在解释器中输入它。 – 2011-02-09 07:01:19