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

时间:2018-09-10 13:39:35

标签: java list enums

我有枚举,并且可以像这样遍历其值:

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

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

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

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

zoos.get(0).getAnimal();

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

1 个答案:

答案 0 :(得分:1)

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

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

}