Попытка перебрать список Объектов, чтобы получить значение последнего параметра из итерации.
long lastSeen = 0L;
for(Object o : list) {
lastSeen = o.getLastSeenId();
}
// will make use of the lastSeen.
Я не могу сделать то же самое с лямбда,
long lastSeen = 0L;
list.stream().forEach(o-> {
lastSeen = o.getLastSeenId();
});
какЯ закончу с этим время компиляции.
Локальная переменная lastSeenId, определенная во вложенной области видимости, должна быть конечной или фактически конечной
Я мог бы сделать это, чтобы прочитать наибольшее, но не хочу:
Set<Long> set = new HashSet<>();
list.stream().forEach(o-> {
set.add(mergeUser.getLastSeenId());
});
Есть ли лучший способ?Причина этого заключается в том, чтобы отслеживать последний обработанный цикл обработки значений (если произошла исключительная ситуация, чтобы завершиться).