-1

型パラメーターとしてではなく、属性自体としてワイルドカードを使用することは可能ですか?

public void doSomething(<? extends Context> myObject){


}

オブジェクトが Context を拡張し、特定のインターフェイスも実装するようにしたいと考えています。

戻り値の型としてワイルドカードを使用することは有効ですが、属性として使用すると機能しないようです

public <? extends MyClass> validMethod(){


}
4

2 に答える 2

1

どちらがインターフェイスでどちらがクラスであるかを (あなたのケースでは) 明示的に述べていませんが、クラスとインターフェイスの両方を拡張するジェネリック型をバインドしたい場合は、これが一般的な形式になります。

public <T extends Number & Comparable<T>> T findNumber(List<T> elements) { }

Number抽象クラスです。Comparable インターフェースです。インターフェイスの前に具体的な順序で指定する必要があると思います。

于 2014-03-22T16:30:18.060 に答える