gpt4 book ai didi

java - 使用 lambda 表达式从对象列表中选择对象

转载 作者:搜寻专家 更新时间:2023-10-30 21:40:54 25 4
gpt4 key购买 nike

我有一个 List<User>我想添加一个方法来返回使用 Id 找到的特定用户。我想使用 lambda 表达式来实现,所以我已经尝试过了,但它不起作用。

...
List<User> user = users.stream().filter(x -> x.id == id).collect(Collectors.toList());
return user[0];

此代码无法编译并给我以下错误:

The method stream() is undefined for the type List<User>
Lambda expressions are allowed only at source level 1.8 or above *
Collectors cannot be resolved
  • 我正在使用 eclipse 4.4.3 Kepler,我已经在机器中安装了 java 8 以及用于在 eclipse 中使用 java8 的插件。

最佳答案

建议:如果您只想匹配条件的第一个元素,请不要收集所有元素以列出(这有点矫枉过正),而是使用 findFirst() 方法:

return users.stream().filter(x -> x.id == id).findFirst().get();

请注意,findFirst() 将返回 Optional对象,如果没有这样的元素,get() 将抛出异常。

关于java - 使用 lambda 表达式从对象列表中选择对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24799650/

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