1
我正在使用Jersey在Scala中實現JAX-RS服務。我想爲Json提供者提供一個通用特徵,並且我需要知道提供者是否支持請求的類。在java中,不可能在運行時知道類型參數的類,因爲類型擦除。但是在scala中可以做到嗎?是否有可能在Scala中將isAssignableFrom與類型參數一起使用?
此代碼不起作用:
trait JsonProvider[A] extends MessageBodyReader[A] with MessageBodyWriter[A] {
final def isReadable(t : Class[_],
genericType: Type,
annotations: Array[Annotation],
mediaType: MediaType): Boolean = {
t.isAssignableFrom(classOf[A]) && mediaType == MediaType.APPLICATION_JSON_TYPE
}
}
什麼建議嗎?在Java中,最好的方法是在Scala中有一個受保護的抽象方法返回A的類?
是的,我只是指出這是不可能使用特質,因爲隱式構造函數的參數。 – 2011-02-09 00:51:38