Scalaを受け取り、 Eclipse /JFaceDatabindingフレームワークObservableBuffer
と互換性のあるイベントを発生させるラッパーを作成しています。
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]
なんで?それは生のタイプと関係がありますか?raw型を拡張するをObservableList
実装します。これは予想される動作ですか。どのように回避できますか?IObservableList
java.util.List