'Optional.get()'没有'isPresent()'检查

问题描述 投票:67回答:4

我在Java中具有以下搜索代码:

return getTableViewController().getMe().getColumns().stream().filter($->Database.equalsColumnName($.getId(), columnId)).findFirst().get();

我希望按名称查找列并返回找到的第一个。

我知道在某些情况下什么也没发现,应该对其进行处理,但是如何处理?

这是这个咒骂所要的:

'Optional.get()' without 'isPresent()' check

如何解决?如果没有找到,我希望返回null

UPDATE

好的,好的,我只是没有意识到,findFirst()返回Optional

java java-8 java-stream optional
4个回答
142
投票

get()替换orElse(null)


20
投票
orElse(null)

返回值(如果存在),否则返回...findFirst().orElse(null); 。文档null传递的参数可能是saysnullorElseGet禁止使用的参数。)>


0
投票

我的解决方法是通过这种方式进行检查


0
投票

创建了可选的代码,使代码可以在这几十年后终于以avoiding

© www.soinside.com 2019 - 2024. All rights reserved.