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