0
我對Manifest類型不熟悉。 Jackson庫使用這種類型,即在ObjectMapper中。因此,考慮這種方法:如何在需要Manifest類型時使用匿名類型
def fromJson[T: Manifest](jsonInputStream: InputStream): T
我試着用匿名類型來調用它像:
....fromJson[{val numRounds: Int; val numSeconds: Int }](json)
但我得到一個編譯錯誤。
[error] found : scala.reflect.Manifest[Object]
[error] required: Manifest[AnyRef{val numRounds: Int; val numSeconds: Int}]
[error] Note: Object >: AnyRef{val numRounds: Int; val numSeconds: Int}, but trait Manifest is invariant in type T.
[error] You may wish to investigate a wildcard type such as `_ >: AnyRef{val numRounds: Int; val numSeconds: Int}`. (SLS 3.2.10)
[error] val d = jsonParser.fromJson[{val numRounds: Int; val numSeconds: Int}](json)
有人可以在這裏解釋這個問題嗎?我真的必須爲該類型創建適當的類嗎?