在开发中,我们判断一个变量字符串string是否等于另一个常量字符串str时, 一般要判断条件为
if( string !=null && string.equals(str) ){ .... },
如果在string=null的情况下不判断string !=null,则会报空指针异常NullPointerException。
作为一个小技巧,省去代码量的同时,直接判断是否相等,我们可以直接写成 if( str.equals(string) ){ ... },具体看个小例子。
import org.junit.Test;
public class TestT {
@Test
public void testEquals() {
String str = null;
String str1 = "aa";
// if("aa".equals(str1)){ //good
// if("aa".equals(str)){// bad
if (str.equals("aa")) {// NullPointerException
System.out.println("good");
} else {
System.out.println("bad");
}
}
}