7
public interface View{...

public interface Control<V extends View>{...

public class RemoteControl<C extends Control<V extends View>> implements Control<V>{...

RemoteControl クラスの「V extends View」で「トークン「extends」の構文エラー、期待される」が表示されます。

次の代替案が可能だったと思います

public class RemoteControl<C extends Control<V>,V extends View> implements Control<V>
{...

それでも、後者はビューの冗長な宣言を必要とするため、これをより暗黙的な方法で行うことはできないのではないかと思います。すなわち:

public class TVRemoteControl extends RemoteControl<TVControl,TvView> implements TVControl{...

public class TVRemoteControl extends RemoteControl<TVControl> implements TVControl{...

たぶん私はまた箱に詰まっているだけかもしれませんが、よりエレガントな方法で「ジェネリックジェネリック」を入手することは可能ですか?

4

1 に答える 1