В), для чего нужен дополнительный функциональный интерфейс?
Я понимаю, что необязательный параметр заключается в том, чтобы избегать нулевой проверки ... но все же необходимо выполнить проверку .isPresent () ??
2) мы бы добились того же с помощью поставщика и сделали бы .get () в случае, когда нам когда-либо понадобилось значение ??
List<Integer> intList = Arrays.asList(1,2,4);
currently--> Optional<Integer> opt =intList.stream().reduce((a,b)->a*b);
int result =opt.get();
suggestion--> Supplier<Integer> sup=intList.stream().reduce((a,b)->a*b);
int result =sup.get();
зачем вводить что-то новое, если поставщик мог бы сделать то же самоевещь.? или просто есть один из них ??