2016-07-21 8 views
1

私はスケーラでサブクラスの束を作成しようとしている問題は、スーパークラスは自己に囲まれたジェネリックです(明らかにロンボクを収容するためにこれは私が変更することができないものです) スカラseq Javaの自己限定ジェネリック

abstract public SomeClass<T extends SomeClass>{} 

そしてScalaの

val subClasses:Seq[_ <: SomeClass] = seq(sub1, sub2, ..., subN) 

私は "工assは、パラメータを入力しとる" 取得エラーで

私は必要があることを示しているように思われる

Seq[_ <: SomeClass[_ <: SomeClass[_ <: SomeClass ... 

かなりのグーグルではまだ解決策が見つからず、この時点で何を検索するのか分からない。どんな助けも大歓迎です。

+0

サブクラスの1つの最小限の例を貼り付けることはできますか?私はこれが具体的に具体化される方法を見ていることに非常に興味があります...私は、これに対する答えが「あるもの」を含むかもしれないと思います。 – Alec

答えて

1

自己参照型は、スカラ型のF-bounded polymorphismと呼ばれます。あなたはあなたの例で記述されている配列を作成するタイプは次のようになります。このタイプは、その中の項目のリストに固有の

Seq[SomeClass[_ >: subN with sub2 with sub1 <: SomeClass[_ >: subN with sub2 with sub1 <: Object]]] 

注こと、あなたが含まタイプを作成することができSomeClassのサブタイプの全てが、それは一種の痛いものになるでしょう。

関連する問題