Re: equality and null pointers
visionset wrote:
Well here lies your problem.
Personally I'd say it was more likely that
null != null
Just like in SQL.
There is no "likely" in Java. There is what it is, and there isn't what it
ain't. One thing it ain't is probabilistic.
Why in the world should anything in Java be "just like in SQL"? Java is
nothing like SQL.
(null == null) is true, just for your reference.
So this underlines the fact that only you, your design in your application
can determine what equality is.
For the same reason you override equals() to put your spin on equality so
you must determine if null == null, nul!=null or indeed what
myObj.equals(null) should evaluate to.
Come on, already! I'm sorry, but I have absolutely no idea where you came up
with this. I am very interested in how people learn Java. From where did you
learn this poppycock?
== is precisely defined and set by the rules of the Java language. What are
you, Humpty Dumpty?
'When _I_ use a word,' Humpty Dumpty said in rather a scornful tone,
'it means just what I choose it to mean--neither more nor less.'
- /Through the Looking Glass/, Lewis Carroll
It is totally not up to the OP, you or me what == means. And there is no
mechanism in Java to "put your spin on" it, either.
To the OP:
You should be range-checking values anyway. It is not redundant to check for
both null and the empty string; they are different values.
It's not so bad to write a utility method like the one you showed if you
commonly treat both null and "" as equivalently undesirable. However, the
language itself treats the cases differently because they are.
--
Lew