Поскольку Java 8, Integer
класс имеет статический sum
метод, который добавляет два целых числа:Есть ли аналог умножения Integer :: sum?
public static int sum(int a, int b) {
return a + b;
}
Я могу пройти этот метод для более высокого порядка функции через Integer::sum
, которые я нахожу более удобным для чтения, чем (a, b) -> a + b
.
Есть ли аналогичный статический метод для умножения, поэтому мне не нужно писать (a, b) -> a * b
? Я не смог найти его в классе Integer
.
За исключением того, что это не то же самое, что '(a, b) -> a * b' из-за его поведения при переполнении. –
Правда. Вопрос не был действительно ясным, как переполнение должно быть обработано, хотя –
Я не могу быть уверенным, что 'Math :: multiplyExact' не будет достаточным для OP на практике, но представляется разумным предположить, что он хочет метод, который имеет та же семантика во всех отношениях, что и лямбда, которую он хочет заменить. Замена лямбды, которая никогда не будет бросаться с помощью ссылки на метод, которая может бросаться, кажется мне немного опасной. –