Нам нужен целый класс WithFilter, чтобы соблюсти контракт "не создаёт новую коллекцию", даже если в коллекции с максимальным размером 1 это, похоже, не имеет большого значения.
Создаёт нестрогий фильтр, который в конечном итоге преобразует это в Failure , если предикат не выполняется.
Примечание: в отличие от filter, withFilter не создаёт новый Try. Вместо этого он ограничивает область действия последующих map, flatMap, foreach, и withFilter операций.
Поскольку Try — это коллекция из одного элемента, это может быть немного излишне, но это согласуется с withFilter в Option и других коллекциях.
Параметры значения
p
предикат, используемый для проверки элементов.
Возвращает
объект класса WithFilter, который поддерживает map, flatMap, foreach, и withFilter операции. Все эти операции применяются к тем элементам этого Try, которые удовлетворяют предикату p.