下のワイルドカードの使い方をある程度深く理解しようとしています。私は、List
の内容を別のものにコピーする汎用メソッドcopy
を書こうとしています。私はこのシグネチャを思いついた:Javaジェネリックで下限の使用:?スーパーT
<T> void copy(List<T> dest, List<? extends T> src)
私はこの署名がすべてのシナリオに対処する包括的だと思います。彼らはList<? super T> dest
だけではなくList<T> dest
を使用する理由
<T> void copy(List<? super T> dest, List<? extends T> src)
私は理解していない。しかし、私は、Javaコレクションクラスにメソッドのシグネチャは次のようであることがわかります。署名に柔軟性はありますか?
ジェネリックのHTMLを避けるため、インラインコードをバッククォートで囲むことができます。 –