【发布时间】:2016-12-08 02:29:37
【问题描述】:
我在 Java 中有以下搜索代码:
return getTableViewController().getMe().getColumns().stream()
.filter($ -> Database.equalsColumnName($.getId(), columnId))
.findFirst()
.get();
我希望按名称查找列并返回找到的第一个。
我知道有一种情况是什么都没找到,应该处理,但是如何处理?
这就是它想要的这个脏话吗:
'Optional.get()' without 'isPresent()' check
?
如何解决?如果没有找到,我希望返回null。
更新
好的,好的,我只是没有意识到,findFirst() 返回 Optional。
【问题讨论】:
-
请注意,您不应在 Java 中使用
$作为标识符:JLS Sec 3.8:“$ 符号应仅用于机械生成的源代码,或者很少用于访问预先存在的源代码旧系统上的名称。”
标签: java java-8 java-stream optional