This is true, but I would argue that you always want to explicitly check for null so that it’s clear that you have handled that situation. Once again, it’s about readability.
if (str == null)
{
throw new Exception("What the crap? str is null! Deal with it!");
}
else if (str.equals("foo"))
{
//etc.
}
Once again, improved readability (in my opinion, anyway).
But this is off topic, and probably over Thsotus’s head. @Thsotus: take a Java class.