Допустим, у меня есть классы:
public class Student {
private String firstName;
private String lastName;
private int albumNo;
private List<String> courses;
...
}
public class StudentList {
private List<Student> students;
public List<Student> filter(String course, String firstName) {
return students
.stream()
.filter(s -> s.getCourses().contains(course))
.filter(s -> s.getFirsName().equals(firstName))
.collect(Collectors.toList());
}
}
Однако существует вероятность, что параметры функции фильтра могут быть пустыми (так как они являются параметрами запроса). Можно ли использовать фильтры Course и FirstName, только если аргументы функции не равны NULL? Я знаю, что мог бы проверить, не являются ли параметры нулевыми, перед фильтрацией, но тогда мне пришлось бы иметь различную конфигурацию фильтрации для каждого случая, и я не хочу этого.