【发布时间】:2016-07-20 21:25:07
【问题描述】:
这个 lambda 表达式比较 2 个对象:
private static final Comparator NATURAL_ORDER_COMPARATOR1 =
(Comparator) (final Object o1, final Object o2) -> ((Comparable) o1).compareTo(o2);
产生这个编译警告:
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
这个 lambda 表达式比较 2 T 个对象:
private final Comparator<T> NATURAL_ORDER_COMPARATOR2 =
(Comparator<T>) (final T o1, final T o2) -> ((Comparable<T>) o1).compareTo(o2);
产生这个编译警告:
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
非常感谢您的解释/cmets 解决方案
【问题讨论】:
标签: java generics lambda java-8 comparator