【发布时间】:2016-05-19 15:38:21
【问题描述】:
我想检查一个特定的对象大小是否大于 0。如果它大于 0,那么我想创建一个可选对象,如果不是,那么我想返回一个 Optional 空。这是java代码的长版:
if(fooA.size>0) {
return Optional.of(new Foo());
} else {
return Optional.empty();
}
有没有办法使用 java 8 的可选库将其压缩成一行?
【问题讨论】:
-
您实际上是否有
Stream的对象,您想以这种方式包装,还是只需要包装一个对象?如果你只想包装一个对象......为什么要使用Stream? -
为什么您认为 Stream API 会在这里为您提供帮助?这是一个不错、简单且易读的代码。如果我们谈论的是集合,我可能会颠倒条件并使用
fooA.isEmpty():fooA的类型是什么? -
return fooA.size > 0 ? Optional.of(...) : Optional.empty()? -
fooA的类是什么?