如何在List<E>中找到最小值?
我以这种方式尝试过,但我得到的只是这个错误消息:java:不兼容的类型:E无法转换为int
public static<E extends Comparable<?superE>> Optional<E> min(List<E>list) {
int result = reduce(list, 0, (a, l) -> a.compareTo((int)l) <= 0 ? a:(int)l);
return (Optional<E>) Optional.of(result);
}
我真的不知道如何解决这个问题。
回答
写成这样会容易得多:
return list.stream().min(Comparator.comparing(Function.identity()));