그것은 바로 제네릭을 이해하는가이다.

자바를 쓰는데 제네릭을 못쓴다? 데스크탑 풀사양으로 맞춰놓고 지뢰찾기나 하는거랑 똑같다.


아래는 자바 8의 Comparator 인터페이스의 코드 일부이다. 이 인터페이스는 타입 T를 인자로 받는다.

이정도도 이해 못한다면 너는 좆땔깜이다.


 public static <T, U> Comparator<T> comparing(

            Function<? super T, ? extends U> keyExtractor,

            Comparator<? super U> keyComparator)

    {

        Objects.requireNonNull(keyExtractor);

        Objects.requireNonNull(keyComparator);

        return (Comparator<T> & Serializable)

            (c1, c2) -> keyComparator.compare(keyExtractor.apply(c1),

                                              keyExtractor.apply(c2));

    }