私はflatMap
Optional
Javaでsしようとしています。簡単な例を次に示します。
List<String> x = Arrays.asList("a", "b", "c");
List<String> result = x.stream().flatMap((val) -> val.equals("b") ? Optional.empty() : Optional.of(val)).collect(Collectors.toList());
コンパイラから次のエラー メッセージが表示されます。
Error:(10, 27) java: incompatible types: no instance(s) of type variable(s) T exist so that java.util.Optional<T> conforms to java.util.stream.Stream<? extends R>
どうしたの?これは、私が Scala で達成しようとしていることの例です。
List("a", "b", "c").flatMap(x => if (x == "b") None else Some(x))
戻り値:
res2: List[String] = List(a, c)
予想通り。
これをJavaに変換してコンパイルするにはどうすればよいですか?