Skip to Content
Java Coding Problems
book

Java Coding Problems

by Anghel Leonard
September 2019
Intermediate to advanced
816 pages
18h 47m
English
Packt Publishing
Content preview from Java Coding Problems

242. Confusing of() with ofNullable()

Confusing or mistakenly using Optional.of() instead of Optional.ofNullable(), or vice versa, can lead to weird behaviors and even NullPointerException.

Optional.of(null) will throw NullPointerException, while Optional.ofNullable(null) will result in Optional.empty.

Check the following failed attempt to write a snippet of code to avoid NullPointerException:

// Avoidpublic Optional<String> isbn(String bookId) {  // the fetched "isbn" can be null for the given "bookId"  String isbn = ...;  return Optional.of(isbn); // this throws NPE if "isbn" is null :(}

But, most probably, we actually wanted to use ofNullable(), as follows:

// Preferpublic Optional<String> isbn(String bookId) { // the fetched "isbn" can be ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Java Coding Problems - Second Edition

Java Coding Problems - Second Edition

Anghel Leonard
Java in a Nutshell, 7th Edition

Java in a Nutshell, 7th Edition

Benjamin J. Evans, David Flanagan
The Well-Grounded Java Developer, Second Edition

The Well-Grounded Java Developer, Second Edition

Benjamin Evans, Martijn Verburg, Jason Clark

Publisher Resources

ISBN: 9781789801415Supplemental Content