Dieser Lambda-Ausdruck 2 Objekte vergleichen:Java 8 Lambda Generika Komparator - Compiler-Warnungen
private static final Comparator NATURAL_ORDER_COMPARATOR1 =
(Comparator) (final Object o1, final Object o2) -> ((Comparable) o1).compareTo(o2);
erzeugen diese Kompilierung Warnung:
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
Dieser Lambda-Ausdruck vergleichen 2 T-Objekte:
private final Comparator<T> NATURAL_ORDER_COMPARATOR2 =
(Comparator<T>) (final T o1, final T o2) -> ((Comparable<T>) o1).compareTo(o2);
erzeugt diese Kompilierungswarnung:
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
Ihre Auflösung mit Erklärung/Kommentaren viel
Danke, Holger. Das ist sinnvoll und schön erklärt (ein Programmierer für den Präsidenten). – Felix