в принципе. Идеология filter такова, что он может возвращать только "да" и "нет", все, никаких третьих вариантов. Если он падает с NPE - значит, данные изначально неправильные, и их по порядку бы сначала профильтровать ещё и на null-ы. Ничего не берется из пустого места, если предсмотреть логичные ситуации, то паники на пустом месте не будет.
Какой смысл был тогда завозить стримы в Джаву? Фильтровали бы дальше через for, и исключения бы ловили
А эксепшн и не вернет третьего варианта. Он просто положит программу вместе со стримом, сообщив девелоперу что он накосячил. А дальше уж пусть девелопер думает - данные ли там были неправильные, и/или он фильтр на нул забыл вкорячить
Обсуждают сегодня