gpt4 book ai didi

java - 检查每个列表项的语句

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:46:16 25 4
gpt4 key购买 nike

我有一个 const experience 值,person 对象,skill 列表和方法(不能修改)hasSkill( skill,person,experience) 返回 boolean 值。我想检查 person 是否具有列表中的所有技能。

我的代码是:

int experience = 5;

private hasAllSkills(person){
return skillList.stream().filter(s -> hasSingleSkill(s,person)).collect(Collectors.toList()).size() == skillList.size() ? true : false;
}

private boolean hasSingleSkill(Skill s, Person p){
return hasSkill(s,p,experience);
}

我很确定有更好的解决方案但找不到;我应该如何修复我的代码?

最佳答案

听起来你想要allMatch :

return skillList.stream().allMatch(s -> hasSingleSkill(s, person));

作为另一个更一般的问题,任何时候你有

condition ? true : false 

你可以把它换成

condition

所以你现有的代码

(long-expression).size() == skillList.size() ? true : false

可以简化为

(long-expression).size() == skillList.size()

关于java - 检查每个列表项的语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42021086/

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