▲ | cobbal 5 hours ago | |||||||
I'm not completely sure what this example is trying to illustrate. Most languages with proper sum types would have `Map<K, V>.get` return an `Optional<V>`. If V happens to be `Optional<Integer>`, then the result will be an `Optional<Optional<Integer>>`, which is a perfectly good type that represents the two ways a value may be missing from the map. Am I missing something? | ||||||||
▲ | pbh101 5 hours ago | parent [-] | |||||||
The Map interface pre-dates Optional and does not return Optional, so it won't return an empty Optional but rather null. To be more clear:
returns a `V`, not an `Optional<V>`. If your `V` is `Optional<WrappedV>`, cool, but that doesn't change that `Map` either finds or doesn't find a V. | ||||||||
|