(no title)
jkscm | 10 years ago
Previous discussion on reddit: https://www.reddit.com/r/programming/comments/3pl7o0/java_8s...
tl;dr: use map, orElseGet, orElse
jkscm | 10 years ago
Previous discussion on reddit: https://www.reddit.com/r/programming/comments/3pl7o0/java_8s...
tl;dr: use map, orElseGet, orElse
nrinaudo|10 years ago
If you don't have a default value to provide, nor an alternate code path other than "sod this, I'm bailing", get is ok. Not quite as good as using a more specific exception through orElseGet, but not bad, exactly.
Also, if you have just called isPresent (and assume your data to be immutable), then get is ok - the alternative being to manually throw something like new IllegalStateException("the impossible has happened!"), which is not that much more useful, and is a pain to have to write all the time when you know it will not get called.
krisdol|10 years ago
I agree that you should never return null, but if get() is bad style I think you should send out that memo because I haven't yet seen codebases that agreed.
vbezhenar|10 years ago
serpix|10 years ago
Checking presence of value of an optional is an anti-pattern, the same as doing != null checks.
You should treat Optional the same as a List type with size 1. You never check if a list is size 1 before doing map or filter.