这是我的代码,但我发现它并不好.在JDK8中,我可以只使用一个流表达式来得到带有两个条件的结果吗?我想确保id条件是第一个,名字条件是第二个.
public Student getStudent(String id,String name) {
try {
List<Student> students = studentDao.getStudent();
if (CollectionUtils.isNotEmpty(students)) {
Student studentDomain=students.stream()
.filter(p -> id .equals(p.getId()))
.findAny().orElse(null);
if(studentDomain==null){
studentDomain=students.stream()
.filter(p -> name.equals(p.getName()))
.findAny()
.orElse(null);
}
return studentDomain;
} else {
return null;
}
}catch (Exception ex){
return null;
}
}