java - 如何检查对象列表中是否存在枚举值

标签 java list enums

我有枚举,并且可以毫无困难地迭代它的值,如下所示:

for(catType ct : catType.values()) {
        if(ct.toString().equals()))
}

我有对象列表,其中每个对象都有(或没有)与枚举中的值匹配的属性。

List<Zoo> zoos = zooRepository.findAll();

要从动物园的第一个索引中获取我需要的字符串,我必须

zoos.get(0).getAnimal();

如何迭代所有 catType,以便检查它们是否存在于对象列表中的任何对象中,如果它们不存在,我可以进一步将它们添加到数据库中?

最佳答案

如果使用java8,可以通过lambda表达式来完成

for(catType ct : catType.values()) {
     boolean exist = zoos.stream()
        .anyMatch(zoo -> zoo.getAnimal().equals(ct.toString()));

}

关于java - 如何检查对象列表中是否存在枚举值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52259086/

相关文章:

java - DefaultAdvisorAutoProxyCreator 导致 @Autowired 依赖项保持为空

python - 读取存储在文本文件中的列表

javascript - Show only 7 list items in list, on "next"click hide current 7 show next 7, same with "previous"click

c# - 获取枚举的名称

java - com.sun.proxy.$proxy0 无法转换为 XXX

java - 将数据从java类传输到javascript的简单方法

swift - 如何从枚举案例的特定实例中提取关联值?

c++ - 打开作用域枚举

java - 支持 boolean 查询的内存数据结构

r - R 中 DNAStringset 的子集列表