Я пытаюсь реализовать общий интерфейс java в scala. Я просмотрел: Как расширить Java интерфейс, содержащий общие методы в Scala? И Scala: переопределение общих методов Java II < / а>
Но так и не нашел ответа. Вот подпись метода из сети Spring:
T read(Class<? extends T> clazz, HttpInputMessage inputMessage)
throws IOException, HttpMessageNotReadableException;
Я пробовал в scala следующее:
@throws(classOf[IOException])
@throws(classOf[HttpMessageNotReadableException])
override def read[T](clazz : Class[_ <: T], inputMessage : HttpInputMessage) : T ={
}
Но я получаю сообщение об ошибке, что этот метод ничего не отменяет. Если я сотру тип, выполнив:
override def read(clazz : Class[_], inputMessage : HttpInputMessage) : AnyRef ={
Он отмечает, что метод перезаписывается. Мой вопрос в том, как я могу сохранить безопасность типов здесь и заставить ее переопределить метод интерфейса?
С Уважением
ИЗМЕНИТЬ
Весенний интерфейс:
public interface HttpMessageConverter<T> {
T read(Class<? extends T> clazz,
HttpInputMessage inputMessage)
throws IOException,
HttpMessageNotReadableException
}