如何将 Optional 转换为 OptionalInt?
我有一个我想“转换”为,但似乎没有一个简单的方法来做到这一点。Optional
OptionalInt
以下是我想做的(人为的例子):
public OptionalInt getInt() {
return Optional.ofNullable(someString).filter(s -> s.matches("\\d+")).mapToInt(Integer::parseInt);
}
但是,没有方法可以解决 .mapToInt()
Optional
我能想到的最好的是:
return Optional.ofNullable(someString)
.filter(s -> s.matches("\\d+"))
.map(s -> OptionalInt.of(Integer.parseInt(s)))
.orElse(OptionalInt.empty());
但这似乎不雅。
我是否从JDK中遗漏了一些可以使转换更加优雅的内容?