如何使用可选的java设置数据



我是可选和函数编程的新手。如何使用可选(第4行到第7行(优化以下代码?

@Getter @Setter
class Score{
Double score;
Double percentage;
}
Optional<Score> scoreOptional getScore(){}

如何使用可选设置分数和百分比数据

public Optional<Score> calculate(){
Optional<Score> scoreOptional = getScore();

// I am setting data like this
if(scoreOptional.isEmpty())
return scoreOptional;
//line : 4
Score score= scoreOptional.get();
score.setScore(13D);
score.setPercentage(15D);
return Optional.of(score);
//line: 7
}

您可以使用ifPresent,这可能会使代码看起来更干净。然而,我不确定这是否会";优化";表演。

public Optional<Score> calculate(){
Optional<Score> scoreOptional = getScore();
scoreOptional.ifPresent(score -> {
score.setScore(13d);
score.setPercentage(15d);
});

return scoreOptional;
}

我会使用Optional.map():

public Optional<Score> calculate() {
return getScore().map(score -> {
score.setScore(13D);
score.setPercentage(15D);
return score;
});
}

相关内容

  • 没有找到相关文章