|
|
|
|
|
by redcodenl
3710 days ago
|
|
How does orElse() cause new problems and/or break code? It is the same as get but forces you to think about the not available option...? I think the options orElse/orElseGet and orElseThrow are enough to replace every get() method, and they'll force you to think about the missing scenario. If you want to do something in case it is present, use ifPresent(lambda). In case you want to return something, use orElse/orElseGet or orElseThrow, or just return the Optional itself. |
|
orElseThrow doesn't force you to think about the missing scenario, only to think about which exception you want to throw, which in many case you don't care for.
If orElseThrow had an override throwing NoSuchElementException by default it would be a perfect replacement, alas it does not.