Java 8 streams “ifPresent”
2022-09-04 01:32:13
我正在尝试了解流并遇到一个问题:我想获取列表的最小值并将其分配给int变量。为此,我做了以下工作:
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
int smallest = list.stream().min(Integer::compareTo).get();
System.out.println(smallest);
这工作得很好,我得到了一个结果。问题是 IDE 会在检查 之前发出警告。为了解决这个问题,我使用了稍微不同的方法,并尝试了以下方法:1
Optional.get
.isPresent
ifPresent
int smallest = list.stream().min(Integer::compareTo).ifPresent(integer -> integer);
不幸的是,这不起作用,因为我收到警告:我的问题最后是:如何将最小值分配给变量 WITH CHECK ifPresent?Bad return type in Lambda, Integer cannot be converted to void.
int smallest