【发布时间】:2017-09-08 22:12:48
【问题描述】:
我有一个可选的整数列表。我希望查看列表是否实际存在,然后将其转换为流。一种方法是
Optional<List<Integer>> listOfNumbers = ...
if (listOfNumbers.isPresent()) {
listOfNumbers.get().stream();
}
但是,我不希望有那个 if 条件。我搜索并看到ifPresent() 做了同样的事情,但是当我做listOfNumbers.ifPresent(this::get)) 时,我收到以下错误:
非静态变量 this 不能从静态上下文中引用
你能帮我以有效的方式做到这一点吗?这对我来说仍然是新的,所以如果我的理解有任何不正确的地方,请告诉我。
【问题讨论】:
-
listOfNumbers.orElse(Collections.emptyList()).stream()...?
标签: list lambda java-8 java-stream optional