Я пишу оболочку, которая принимает Scala ObservableBuffer
и запускает события, совместимые с Eclipse / JFace Databinding framework.
В структуре Databinding, есть абстрактный ObservableList
, который украшает обычный список Java.Я хотел повторно использовать этот базовый класс, но даже этот простой код не работает:
val list = new java.util.ArrayList[Int]
val obsList = new ObservableList(list, null) {}
с ошибками:
illegal inheritance; anonymous class $anon inherits different type instances of trait Collection: java.util.Collection[E] and java.util.Collection[E]
illegal inheritance; anonymous class $anon inherits different type instances of trait Iterable: java.lang.Iterable[E] and java.lang.Iterable[E]
Почему?Это имеет отношение к необработанным типам?ObservableList
реализует IObservableList
, который расширяет необработанный тип java.util.List
.Это ожидаемое поведение, и как я могу обойти это?