filter()用于表示只有在与谓词匹配时才需要该值。
觉得像。if (!somePredicate(x)) { x = null; }
代码示例:
String value = null; Optional.ofNullable(value) // 没有 .filter(x -> x.equals("cool string"))// 由于值为null,因此永远不会运行 .isPresent(); // 假
String value = "cool string"; Optional.ofNullable(value) // 某事 .filter(x -> x.equals("cool string"))// 这是运行并通过 .isPresent(); // 真正
String value = "hot string"; Optional.ofNullable(value) // 某事 .filter(x -> x.equals("cool string"))// 这运行并失败 .isPresent(); // 假