以前在用equals的时候,一致没有注意顺序的问题,受到日常语法的影响一直是谁等于谁就写成谁.equals(谁)比如要判断字符串变量str是否等于“123”就这样写:
String str;
……
boolean bool = str.equals(“123“);
为了解决当变量为null的时候抛出的空指针异常,只好写成下面这样
String str = null;
boolean bool = false;
try{
bool = str.equals("");
}catch(java.lang.NullPointerException e){
//bool = false;
}
今天读看struts源码的时候看到是类似下面这样的写法:
String str;
……
boolean bool = “123“.equals(str);
想了一下,明白了这样写的好处。在第一种写法的时候当变量为null的时候再进行比较就会抛出java.lang.NullPointerException,而第二种方法就没有这样的问题了。呵呵,以后写代码的时候要注意了!