Avoiding Null Anti Patterns
Open Source Your Knowledge, Become a Contributor
Technology knowledge has to be shared and made accessible for free. Join the movement.
Require non null parameters
One of the first things you can do to avoid null-related problems is to require that given values be not null
by using the static method Objects.requireNonNull(variable, errorMessage)
.
If you elect not to use this method, your code will have to check for null
every time the given value should be used which is error-prone and confusing. If a null manages to slip into your code, your program may start behaving in mysterious and unexpected ways.
By requiring non-null values from the very start of a method's execution, you will easily isolate the problem when dealing with a NullPointerException
. This makes debugging far easier than if the program crashes several hundred lines later.
You may also attach a custom error message to the NPE by using Objects.requireNonNull
.
If you are a Guava user, you will have recognised this behaviour in Guava's Preconditions.checkNotNull.