Мне нужно отфильтровать список сотрудников на основе некоторых параметров, таких как firstName, lastName и т. Д. Эти параметры определены пользователем, и пользователь может выбрать весь фильтр или комбинацию фильтров.Добавить Фильтры на основе некоторых условий 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());
}
Правильно ли это делается?
Примечание: приведенный выше код работает нормально. Я просто ищу другой лучший подход (если есть).
Случай 1: список getFilterList(null,null)
возвращения всех сотрудников
Case 2: список getFilterList("abc",null)
возвращения всех сотрудников с первым именем аЬсом.
Выглядит нормально для меня, вы возникли проблемы с ним ? Вы заботитесь о сравнении случаев (I.e. Верхний и нижний регистр)? – Draken
Нет, у меня нет никаких проблем с этим кодом и его работой тоже. Но я не был уверен в этом подходе. –