"".equals(str)与str.equals("")的区别

之前一直说"".equals(str)这种写法比str.equals("")好,没去注意为什么,今天看到同事审核代码的时候说"".equals(str)可以避免程序报空指针,于是写了个程序测试了一下,果然这样

public class EqualTest {
 private String a;
 public  void getString1(){
	 if(a.equals("")){
		 System.out.println("a equals '' is ok" );
	 }
 }
 public  void getString2(){
	 if("".equals(a)){
		 System.out.println("'' equals a is ok" );
	 }
 }
 public static void main(String[] args) {
	 new EqualTest().getString2();
	 new EqualTest().getString1();;
}
}

结果:

Exception in thread "main" java.lang.NullPointerException
at learningProject.EqualTest.getString1(EqualTest.java:6)
at learningProject.EqualTest.main(EqualTest.java:17)

猜你喜欢

转载自blog.csdn.net/zth1002/article/details/50698230
str