0

JAVA で反変性を使用する利点は何ですか?

2 つの方法があるとします。

public static <T> void f1(List<? super T> list, T item){     
        list.add(item);     
    }

public static <T> void f2(List<T> list, T item){     
        list.add(item);     
    }

そして、私はそれらをメインで呼び出します:

public static main(){     
        f1(new ArrayList<Shape>(), new Cube());
        f2(new ArrayList<Shape>(), new Cube());     
    }

違いは何ですか?反変性は、オブジェクト型を「取得」することしかできないため、さらに悪いようです。なぜ、いつ使用する必要があるのでしょうか?

4

0 に答える 0