human
Je veux additionner une liste d'entiers. Ça fonctionne comme suit, mais la syntaxe ne semble pas correcte. Est-ce que le code peut être optimisé ?
```Map integers;
integers.values().stream().mapToInt(i -> i).sum();
``
gpt
Cela fonctionnera, mais le `i -> i` effectue une conversion automatique de déballage, c'est pourquoi cela semble étrange. `mapToInt` convertit le flux en un `IntStream` "d'éléments int primitifs". L'une des options suivantes fonctionnera et expliquera mieux ce que le compilateur fait en interne avec votre syntaxe d'origine:
```
integers.values().stream().mapToInt(i -> i.intValue()).sum();
integers.values().stream().mapToInt(Integer::intValue).sum();
```
L'autre option simple est `BigDecimal sum = numbers.stream().reduce(BigDecimal.ZERO, BigDecimal::add);`.