On 6/2/06, Scott Van Wart <[EMAIL PROTECTED]> wrote:

If a bean's property is the empty string "", does a test like (property
== null) suffice?  Or do I have to say ((property == null) or (property
== ''))?


You need to test for both conditions in the latter case, but the particular
approach you suggest above is not necessarily going to work.  You cannot
reliably do "==" tests on strings if you are looking for equality -- you
need to use the equals() function instead.

When faced with the kind of test you're trying to do here, I would suggest
the following:

 if ((property == null) || property.equals("")) {
   ... it is either null or an empty string ...
 }

It is important to do the null test first, because if that test passes, the
expression evaluation rules guarantee that the application won't try to
evaluate property.equals("") as well.  That's a good thing ... because that
would generate a null pointer exception if property was indeed null.

If you want to learn more about Java basics things like this, I would
strongly recommend working your way through the Java Language Tutorial[1].
It has concise introduction to language concepts like this, plus it goes
over the basics of using many of the common Java APIs.

- Scott


Craig


[1] http://java.sun.com/docs/books/tutorial/

Reply via email to