Which do you prefer of these two? The goal is the same. If bar is null then make foo null and avoid the exception. In other languages there is the ?. operator to help with this.

foo = bar == null ? null : bar.baz();
foo = bar != null ? bar.baz() : null;

I ask because I feel like the “English” of the first example is easier to read and has less negations so it is more straightforward, but the second one has the meat of the expression (bar.baz()) more prominently.

  • JackbyDevOPM
    link
    English
    11 year ago

    Yes, Java allows lazy final like you say. I also prefer full blown if when it is non trivial or longer than a full line. (Wish we had if-expressions!)