如何定義該方法返回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