Normal practice

Constant value comes second in comparison.

        private static final String COMPARE_VALUE = "VALUE123";
 
	public boolean compareIt(String input){
 
		if(input.equals(COMPARE_VALUE)){
			return true;
		}else{
			return false;
		}
	}

Problem

This is fine to compare a constant value with the above method, however it will potentially causing a NullPointerException, if user pass a “null” value for the comparison. For example :

if(input.equals(COMPARE_VALUE)) //hit NullPointerException if input is "null"

Best practice

Constant value should always come first in comparison.

        private static final String COMPARE_VALUE = "VALUE123";
 
	public boolean compareIt(String input){
 
		if(COMPARE_VALUE.equals(input)){
			return true;
		}else{
			return false;
		}
	}
Tags :
Founder of Mkyong.com, love Java and open source stuff. Follow him on Twitter, or befriend him on Facebook or Google Plus. If you like my tutorials, consider make a donation to these charities.
My website mkyong.com is hosted by Liquid Web, I really like their fast and helpful support, it saved me a lot of time. Furthermore, their servers are extremely reliable, fast and stable, I don't remember when was the last time we had server downtime. Btw, they're offering $100 Coupon now, if you are sourcing for great hosting provider, go grab it.

Related Posts

Popular Posts