Cette expression lambda pour comparer 2 objets:java 8 de comparaison des génériques lambda - avertissements du compilateur
private static final Comparator NATURAL_ORDER_COMPARATOR1 =
(Comparator) (final Object o1, final Object o2) -> ((Comparable) o1).compareTo(o2);
produit cet avertissement de compilation:
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
Cette expression lambda pour comparer les 2 T objets:
private final Comparator<T> NATURAL_ORDER_COMPARATOR2 =
(Comparator<T>) (final T o1, final T o2) -> ((Comparable<T>) o1).compareTo(o2);
produit cet avertissement de compilation:
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
Votre résolution avec des explications/commentaires très apprécié
Merci, Holger. C'est logique et bien expliqué (un programmeur pour le président). – Felix