小编San*_*waj的帖子

根据某些条件添加过滤器java 8

我需要根据一些参数(如名字、姓氏等)过滤员工列表。这些参数是用户定义的,用户可以选择所有过滤器或过滤器组合。

public List<Employee> getFilterList(String firstName,String lastName)
{
    List<Employee> empList = empRepository.getEmployees();

    Stream<Employee> empStream=empList.stream();

   if(firstName!=null)
   {
     empStream= empStream.filter(e-> e.getFirstname().equals(firstName))
   }

   if(lastName!=null)
   {
     empStream= empStream.filter(e-> e.getlastName().equals(lastName))
   }

   return empStream.collect(Collectors.toList());
}
Run Code Online (Sandbox Code Playgroud)

这是这样做的正确方法吗?

注意:上面的代码工作正常,我只是在寻找另一种更好的方法(如果有的话)。

案例一: getFilterList(null,null)返回所有员工名单

情况 2: getFilterList("abc",null)返回名字为 abc 的所有员工的列表。

stream java-8

4
推荐指数
1
解决办法
7423
查看次数

标签 统计

java-8 ×1

stream ×1