gpt4 book ai didi

Java 8 - 流、过滤器和可选

转载 作者:搜寻专家 更新时间:2023-11-01 01:20:49 24 4
gpt4 key购买 nike

我有以下代码

public Player findPlayerByUsername(String username) {
return players.stream().filter(p -> p.getUsername().equalsIgnoreCase(username))
.findFirst().get();
}

问题是,如果没有值存在,我希望它返回 null,我该怎么做呢?因为就目前而言,这只会引发 NoSuchElementException

最佳答案

public Player findPlayerByUsername(final String username) {
return players.stream().filter(p -> p.getUsername().equalsIgnoreCase(username)).findFirst().orElse(null);
}

findFirst()方法返回 Optional<Player> .

如果可选有播放器对象,optional.get()将返回该对象。如果对象不存在并且您想要一些替代方案,请在

中提供该选项
.orElse(new Player()); or .orElse(null) 

有关详细信息,请参阅 Optional DocumentationOptional tutorial

关于Java 8 - 流、过滤器和可选,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35249537/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com