5

I'm curious if there are things in the standard class library that you find useful but not widely used.

you are viewing a single comment's thread
view the rest of the comments
[-] pohart@lemmyrs.org 1 points 1 year ago

IMHO it should be used for parameters, as long as there is more than one optional parameter. If rather all non nullable parameters though, which is usually doable.

[-] JackbyDev@programming.dev 1 points 1 year ago

I've waffled on it. Currently my opinion is to use whatever nullable annotation the project uses (if any, otherwise JetBrains's). Essentially, I'm not sure if the official recommendation to avoid Optional for uses other than return types has reasoning I'm missing.

I do use it like this though and lament that we don't have an Elvis operator (?:)

Optional.ofNullable(thingThatMightBeNull).map(e -> e.someMethod()).orElse(null);
[-] presumably_wrong@lemm.ee 1 points 1 year ago

Instead of wrapping it in an optional you can do Objects.requireNonNullElse(value, defaultValue)

[-] austin@programming.dev 1 points 1 year ago* (last edited 1 year ago)

Optional has more syntactic sugar for more complex scenarios / functional call chaining that prevents repetitive if checks

Optional.ofNullable(myObj)
  .map(MyClass::getProperty)
  .map(MyOtherClass::getAnotherProperty)
  .filter(obj -> somePredicate(obj))
  .orElse(null)

This is completely null safe, the function calls are only made if the object is not null

this post was submitted on 16 Jun 2023
5 points (100.0% liked)

Java

1357 readers
1 users here now

For discussing Java, the JVM, languages that run on the JVM, and other related technologies.

founded 1 year ago
MODERATORS