loading...

re: Better Null-Checking in Java VIEW POST

TOP OF THREAD FULL DISCUSSION
re: How is your Nullable example different than using Option.ofNullable? String zipCode = Optional.ofNullable(user) .map(User::add...
 

Ahh, I missed the intermediary null checks, this is more accurate:

String zipCode = Optional.ofNullable(user)
                   .flatMap(user -> Optional.ofNullable(user.addresses()))
                   .flatMap(addresses -> Optional.ofNullable(addresses.billingAddress())
                   .flatMap(address -> Optional.ofNullable(address.zipCode())
                   .orElse("...");
 

No, you didn’t. You can do it exactly as in your first example.

I confirm, the first example works.

But besidd that, this goes against rule of Demeter.

You should not have to access so many indirect attributes to get the zip code. User should expose a getZipCode method.

code of conduct - report abuse