Я пытаюсь преобразовать эту функцию для использования нового синтаксиса Java 8. Надеюсь, это уменьшит количество строк и, возможно, прояснит ситуацию.
public int divisorSum(int n) {
int sum = 0;
for(int i = 1; i <= n; i ++) {
if(n % i == 0) {
sum = Integer.sum(sum, i);
}
}
return sum;
}
Я пробовал это:
IntStream.range(0, n).forEach(i -> ... )
Но, согласно комментарию к этой публикации от Tezra, по-видимому, не рекомендуется зацикливаться с использованием лямбда-выражений.