I want to set a value to a string if an Optional is present else get it from a list based on a condition. I have tried many ways but not able to get it. I am new to Streams so need help.
Basically my condition is this in traditional way -
String rel = ""
if(release.isPresent()){
rel = release.get();
}
else{
for(Release r: project.getReleases()){
if(r.isActive() == true){
rel = r.getName();
}
}
}
This is what I have written, but it doesn't work. I am getting error in the orElse part -
rel = release.ifPresent(r-> release.get())
.orElse(
project.getReleases()
.stream()
.filter( r -> r.isActive() == true)
.findFirst()
.map(r->r.getName()));
Can you please suggest what is the correct way to do this ? Thanks in advance for any help.