Java equals() selection


New Member
In Java, if I try to do.equals() on a null string, a null pointer error is issued. I’m wondering whether I can perform the following if I’m attempting to compare if a string is equal to a constant string:
MY CONSTANT STRING.equals(aStringVariable)
I’m sure it’ll work, but is this simply extremely bad code?
This is a common Java idiom known colloquially as a Yoda condition. Personally, I prefer to handle the null situation directly, but the Yoda method is widely used, and any competent Java programmer should quickly grasp what is going on. How should I proceed?


Cloud Security Engineer
Staff member
Answering language agnostically, the majority of a program is typically error handling. Yoda notation is typically a best practice. The reason for it is to avoid syntax errors in languages that use == as the equals operator. Yoda notation will throw an error if I do 'success' = variable vs variable = 'success' which will cause an assignment to occur and unexpected code execution