Is there a difference between null != something
and something != null
in Java. And if there is a difference then which one should I use and why??
In java if we compare any, always we have to place variables at left hand side and values are placed at right hand side...
They are both the same there is no difference.
I just want to point out that the "Yoda condition" rationale for doing this (in languages like C & C++) does not apply in this (Java) case.
Java does not allow general expressions to be used as statements, so both
something == null;
and
null == something;
would be compilation errors.
The types of something == null
and something = null
are different; boolean and some reference type respectively. In this case, it means that both:
if (something = null) {
...
}
and
if (null = something) {
...
}
would be compilation errors.
In fact, I can't think of a realistic example where null == something
would be compilation error and something == null
would not. Hence, it doesn't achieve anything in terms of mistake-proofing.
There is no difference, but some people use it for ease of readability in their code.
Point of view of performance there will be no difference, both sides of the operator are executed any way. But for a more readable code second one seems more readable
obj.getSomething().getAnotherThing().doSomething() != null
null != obj.getSomething().getAnotherThing().doSomething()
But if you are going to just compare a variable or parameter this is more readable
something != null
Of course this depends on sense of reader.
its probably comming from the so-called joda-conditions where you write "bla" == myVariable
instead of myVariable == "bla"
because it could happen to accidentially write myVariable = "bla"
which returns "bla" in some languages but also assign "bla" to myVariable