结合Java 8可选

时间:2019-06-27 14:27:48

标签: java optional

我的代码中有两种方法:

Optional<CourseId> getCourseId(){
// returns just 1 course    
}

Optional<StudentId> getStudentId(CourseId courseId){
//returns an optional studentId
}

我正在尝试将这两种方法结合起来以获得类似的结果:

Optional<CourseId> crsid = getCourseId();
if ( crsid.isPresent() ){
    return getStudentId(crsid.get());
}
else{
    return Optional.empty()
}

如何将以上逻辑结合到可选映射中?

1 个答案:

答案 0 :(得分:2)

使用Optional::flatMap方法

return getCourseId().flatMap(id -> getStudentId(id));