Jin*_*won 0 java lambda java-8
我有一个可为空List的BufferedImage秒.
List<BufferedImage> list = null; // or not null.
Run Code Online (Sandbox Code Playgroud)
我发现我可以像这样刷新列表中的每个图像.
Optional.ofNullable(list)
.ifPresent(l -> l.forEach(i -> i.flush())); // ok
Run Code Online (Sandbox Code Playgroud)
我可以做到这一点.
Optional.ofNullable(list)
.ifPresent(l -> l.forEach(BufferedImage::flush)); // ok
Run Code Online (Sandbox Code Playgroud)
为什么编译器在我尝试这样做时会抱怨?
Optional.ofNullable(list)
.ifPresent(List::forEach(BufferedImage::flush)); // not ok
Run Code Online (Sandbox Code Playgroud)
使用空列表而不是空值是不那么麻烦. Optional让它变得简单:
Optional.ofNullable(list)
.orElseGet(Collections::emptyList)
.forEach(BufferedImage::flush);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
92 次 |
| 最近记录: |