2 개체를 비교하는이 람다 식 :자바 8 람다 제네릭 비교 - 컴파일러 경고
:warning: [unchecked] unchecked call to compareTo(T) as a member of the raw type Comparable
(Comparator) (final Object o1, final Object o2) -> ((Comparable) o1).compareTo(o2);
where T is a type-variable:
T extends Object declared in interface Comparable
이 람다 식 2 개 T 객체를 비교 :
private static final Comparator NATURAL_ORDER_COMPARATOR1 =
(Comparator) (final Object o1, final Object o2) -> ((Comparable) o1).compareTo(o2);
이 컴파일 경고 생산을
private final Comparator<T> NATURAL_ORDER_COMPARATOR2 =
(Comparator<T>) (final T o1, final T o2) -> ((Comparable<T>) o1).compareTo(o2);
이 컴파일 경고를 생성합니다.
0 설명/의견warning: [unchecked] unchecked cast
(Comparator<T>) (final T o1, final T o2) -> ((Comparable<T>) o1).compareTo(o2);
required: Comparable<T>
found: T
where T is a type-variable:
T extends Object declared in class Tree01
귀하의 해상도는 훨씬 당신은 모두 Comparable
을 구현에도 불구하고, 당신이 Integer
에 String
을 비교할 수있는 임의의 Comparable
들과 비교할 수있는 Comparator
를 정의 할 수 없습니다
고맙습니다. 홀거. 그것은 의미 있고 잘 설명됩니다 (대통령 프로그래머). – Felix