我得到了这个方法
public static Integer addCollectionElements(List<Integer> list) {
return list.stream().reduce(0, Integer::sum).intValue();
}
我想将其推广到任何实现方法 sum 的类(例如 Float)。
是否可以通过使用 Java 泛型来实现这一点?
最佳答案
不幸的是,Number
基类没有 sum
方法,所以你不能直接这样做。但是,您可以对收到的每个 Number
调用 doubleValue()
,并将它们相加为 double 值:
public static double addCollectionElements(List<? extends Number> list){
return list.stream().mapToDouble(Number::doubleValue).sum();
}
关于java - 概括一个方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42986510/