私は最近 Java の試験を受けましたが、Java のワイルドカード ジェネリックについて幅広いセクションがありました。しかし、実際の使用法についてはほとんど語られていません。いつ使用する必要がありますか?典型的な使い方を見てみましょう:
void check(Collection<? extends Animal> list) {
// Do something
}
このコレクションでは、リストに要素を追加することはできません。したがって、基本的にワイルドカードを使用してコレクションを読み取り専用にすることができます。それは彼らの唯一の使い方ですか?そのための実際的な必要性はありますか?過去 4 年間、私は Java で多くのプログラミング プロジェクトに参加しましたが、ワイルドカードのような機能を広範囲に使用するプロジェクトは見たことがありません。
では、実用的な観点から、ワイルドカードのジェネリックが避けられず、必要になる状況はありますか?