如何检查对象列表是否包含使用百日咳的字符串?

时间:2016-10-12 10:47:09

标签: java arraylist thymeleaf

假设我有一个包含用户对象的ArrayList。

User.java

class User{
  private Long id;
  private String name;
}

我有一个用户列表

list.add(new User(1,"John");
list.add(new User(2,"Sam");

如果用户列表中有一个名为“Sam”的用户,我想检查百万美元。

${#lists.contains(userList.name,'Sam')}

但上述方法不起作用并抛出Caused by: org.thymeleaf.exceptions.TemplateProcessingException: Exception evaluating SpringEL expression

我也试过“(doube-quotes)

2 个答案:

答案 0 :(得分:5)

您可以使用Collection SelectionSpring Expression Language功能实现此目的。

  

10.5.17收集选择

     

选择是一种强大的表达语言功能,可以让您使用   通过从中选择一些源集合到另一个源集合   条目。

     

选择使用语法?[selectionExpression]。这将过滤   收集并返回一个包含该子集的新集合   原始元素。

在您的特定情况下,它将是:

${not userList.?[name == 'Sam'].isEmpty()}

答案 1 :(得分:0)

list.add(new User(1, "John");
list.add(new User(2, "Sam");

通常你可以使用

${list.contains(`Sam`)} or ${list.contains("Sam")}

试试这个