我有一个类似下面的 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"));
https://stackoverflow.com/questions/64225042/
相关文章:
python - 为什么 python 的 "gc.collect()"没有按预期工作?
python-3.x - Pygame - 不存在 "Setup"文件,正在运行 "buildcon
python-3.x - Python Pandas : groupby one column, 只
java - 如何使用 void set 方法在静态常量帮助程序类中创建对象?
reactjs - 不能在 JSX 属性中使用 bool 值
haskell - 在 Haskell 的 do 上下文中应用构造函数
javascript - 使用 useEffect 加载脚本