Javaでヌルを処理するオプションとストリーム

サム・ハム:

私たちは以下のようにsenarioを持っている場合はどうヌルを処理する最善の方法だろう

//mocking for demonstraton  
studentsByCourseRoster.setUsers(null);

studentsByCourseRoster.getUsers().stream().forEach(user -> {
    final UserDTOv2 userDTO = new UserDTOv2();
    userDTO.populateUserDataFromUserDTO(user, groupedUsers);
    users.add(userDTO);
});
Mureinik:

あなたは、単一の文構造を保持したい場合は、使用できるOptional.ofNullableと置き換えるnull空のリストに:

Optional.ofNullable(studentsByCourseRoster.getUsers())
        .orElse(Collections.emptyList())
        .forEach(user -> {
                     final UserDTOv2 userDTO = new UserDTOv2();
                     userDTO.populateUserDataFromUserDTO(user, groupedUsers);
                     users.add(userDTO);
         });

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=138313&siteId=1