gpt4 book ai didi

java - 检查一个数组列表是否包含两个字符串

转载 作者:行者123 更新时间:2023-12-05 08:25:33 28 4
gpt4 key购买 nike

我有一个类似下面的 pojo 类

public CategoryModel {

public String getName() {
return Name;
}

public void setName(String name) {
Name = name;
}

}

我创建了一个如下所示的数组列表。

List<CategoryModel> variantCategoryModelList = new ArrayList<>();
CategoryModel cat1= new CategoryModel();
cat1.setName(TEST1);
CategoryModel cat2= new CategoryModel();
cat2.setName(TEST1);
list.add(cat1);
list.add(cat2);

我必须检查值“TEST1”和“TEST2”是否存在于列表中,如果两个值都存在于“列表”中则返回“true”,我尝试了类似下面的方法,尽管我的“列表”有两个值,它返回 false。请你帮我检查我做错了什么,顺便说一句,我正在使用 JDK 11。

final Optional<CategoryModel> optionalData = variantCategoryModelList.stream().
filter(valueData -> TEST1.equalsIgnoreCase(valueData.getName())
&& TEST2.equalsIgnoreCase(valueData.getName())).findFirst();

if(optionalData.isPresent()){
return true;
}

最佳答案

您可以将您的 CategoryModel 映射到名称并收集到字符串列表并调用 List.containsAll :

return variantCategoryModelList.stream()
.map(CategoryModel::getName)
.collect(Collectors.toList())
.containsAll(Arrays.asList("TEST1","TEST2"));

关于java - 检查一个数组列表是否包含两个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64225042/

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