3
本質上強制執行的Scala特質的類型,我想做到以下幾點:使用通用
trait Foo[T] extends T {
def json: Writes[T]
def bar: String = {
Json.toJson[T](this)(json).toString
}
}
我希望編譯器執行,使用特質任何類的類型是T.不幸的,「延長T'無效。現在,我能做的最好的是:
trait Foo[T] extends T {
def json: Writes[T]
def bar: String = {
Json.toJson(this.asInstanceOf[T])(json).toString
}
}
但顯然,編譯器沒有執行任何操作。無論如何要實現我想要的?
Foo [T]擴展T是否有意義,例如: Foo在Java中擴展字符串?也許我錯過了一些東西。 –