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

2022-01-22 00:00:00 java-8 java optional java-stream

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

I have the following search code in Java:

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

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

I was wishing to find column by name and return first one found.

我知道有一种情况是什么都找不到,应该处理,但是如何处理?

I understand there is a case when nothing found and it should be processed, but how?

这就是它想要的这个脏话吗:

Is this what it wants by this swearing:

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

?

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

How to fix? I wish to return null if nothing found.

更新

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

Okay, okay, I just didn't realize, that findFirst() returns Optional.

推荐答案

get() 替换为 orElse(null).

Replace get() with orElse(null).

相关文章