To check if a string is null in Java, use the == operator to compare the string reference directly with null.
if (str == null) {
System.out.println("String is null");
}This is the standard and most direct way to perform a null check. Always check for null first to avoid a NullPointerException when calling methods like isEmpty() or length() on a null reference.
Copyif (myString != null && !myString.isEmpty()) {
// doSomething
}
As further comment, you should be aware of this term in the equals contract:
From Object.equals(Object):
For any non-null reference value
x,x.equals(null)shouldreturn false.
The way to compare with null is to use x == null and x != null.
Moreover, x.field and x.method() throws NullPointerException if x == null.
Cleanest way to check for null on a String?
[Java] How do you check if an input string is null?
Shorter (efficient) way to check if a string is null or empty?
In Java, should I use (String ) isEmpty() or isBlank() when checking an XML object for an empty value?
Videos
Copyif (myString != null && !myString.isEmpty()) {
// doSomething
}
As further comment, you should be aware of this term in the equals contract:
From Object.equals(Object):
For any non-null reference value
x,x.equals(null)shouldreturn false.
The way to compare with null is to use x == null and x != null.
Moreover, x.field and x.method() throws NullPointerException if x == null.
If myString is null, then calling myString.equals(null) or myString.equals("") will fail with a NullPointerException. You cannot call any instance methods on a null variable.
Check for null first like this:
Copyif (myString != null && !myString.equals("")) {
//do something
}
This makes use of short-circuit evaluation to not attempt the .equals if myString fails the null check.