Suppose I have the following expression
String myString = getStringFromSomeExternalSource();
if (myString != null && myString.trim().length() != 0) {
...
}
Eclipse warns me that myString might be null in the second phrase of the boolean expression. However, I know some that some compilers will exit the boolean expression entirely if the first condition fails. Is this true with Java? Or is the order of evaluation not guaranteed?
Yes, that is known as Short-Circuit evaluation.Operators like
&&and||are operators that perform such operations.No,the order of evaluation is guaranteed(from left to right)