Java 如何在列表中找到最小值<;E>;?

Java 如何在列表中找到最小值<;E>;?,java,list,generics,lambda,Java,List,Generics,Lambda,我这样尝试过,但得到的只是一条错误消息: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 (Optiona

我这样尝试过,但得到的只是一条错误消息: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);
}

publicstatic编写起来会简单得多:

return list.stream().min(Comparator.comparing(Function.identity()));

好吧,那就行了!非常感谢你!