像Java中的谓词。它存在吗?

时间:2015-05-29 12:10:12

标签: java apache-commons predicates

我有一个要求,我们必须从列表中搜索一个对象。例如,如果我们有一个Persons对象列表

List<User> userList = new ArrayList<User>();

User对象的名字和姓氏就像这样的参数。

 public class User{
    String firstName;
    String lastName;
  }

我需要执行搜索,如果用户输入“raj”作为输入,它应该产生与“LIKE”查询相同的结果。

我已经使用了apache-commons谓词。它适用于“EQUALS”。 但是我们在apache-commons中是否有任何其他类可以用于LIKE查询。

1 个答案:

答案 0 :(得分:2)

你的意思是

userList
  .stream()
  .filter(user -> user.getFirstName().contains(input))
  .collect(Collectors.toList());

String#contains如果......我真的认为我必须解释它。

这将返回firstname包含输入的所有用户的列表。