There are various libraries available to check if a variable is null or not. Most notable ones are :
com.google.common.base.Preconditions.checkNotNullcom.google.common.base.Verify.verifyNotNulljava.util.Objects.requireNonNullThese methods generally takes two arguments. The first is the reference that should be non-null. The second is the error message to print (usually a string literal).
There are some common scenarios where the first argument can't be null but is still checked to be null and is thus redundant.
By specification, a constructor cannot return null. So if the argument is an object creation or array creation expression, checking can be skipped.
Often the order of the two arguments is swapped, and the reference is never actually checked for nullity. This check ensures that the first argument to such methods is not a literal.
When a primitive is passed as the argument to check, the primitive will be autoboxed into a boxed object, which is non-null, causing the check to always pass without the condition being evaluated. If the intent was to ensure that the primitive met some criterion (e.g., a boolean that should be non-null), please use Preconditions.checkState() or Preconditions.checkArgument() instead.