Java 为什么Optionant类中没有mapToInt()?
Java 为什么Optionant类中没有mapToInt()?,java,java-8,Java,Java 8,IntStream类有map()、mapToObj()、mapToLong()和mapToDouble()方法,但这些方法似乎在OptionalInt类中缺失 缺少这些方法有什么好的理由吗?你可以做得相当迟钝 OptionalInt oi = OptionalInt.of(1); oi.ifPresent(i -> IntStream.of(i).map(j -> j + 1).forEach(System.out::println)); 然而,不清楚为什么OptionalInt没
IntStream
类有map()
、mapToObj()
、mapToLong()
和mapToDouble()
方法,但这些方法似乎在OptionalInt
类中缺失
缺少这些方法有什么好的理由吗?你可以做得相当迟钝
OptionalInt oi = OptionalInt.of(1);
oi.ifPresent(i -> IntStream.of(i).map(j -> j + 1).forEach(System.out::println));
然而,不清楚为什么
OptionalInt
没有与IntStream
相同的方法,尽管我注意到Optional
有Stream
的一个子集,也许你应该问一下为什么OptionalInt
没有map
和flatMap
有Optional
的重复尽管它没有回答为什么(我想我们必须等待开发团队的一名成员才能得到答案),Java9将在Optionals上引入stream()
方法。因此,您可以执行可选optObj=myOptInt.stream().mapToObj(..).findFirst()代码>作为一种解决方法。