当前位置:优学网  >  在线题库

如何在Java中更新可选对象内的字段?

发表时间:2022-07-30 00:30:46 阅读:197

我有一个可选的&ltStudent&gt,我想做以下事情:

// sets student to entity object with myId
Optional<Student> student = documentRepository.findByIdOptional(myId).map(documentMapper::toDomain);

// How do I do something like this?
student.setPath("myPath/test");

我得到错误:

无法解析Optional中的方法setPath

🎖️ 优质答案
  • 解决方案是使用`isPresent()8215;和8215;get()8215;:

    if (student.isPresent()) {
        student.get().setPath("myPath/test");
    }
    
  • 也许试试

    Student student = documentRepository.findById(myId).orElseThrow(()->new NoSuchElementException("Not found.")); 
    student.setPath("myPath/test");
    
  • 对代码学徒发布的内容进行了一些改进:

    student.ifPresent(s -> s.setPath("myPath/test"));
    
  • 相关问题