(str变量).equals(str常量)与(str常量).equals(str变量)的区别

我们在判断两字符串是否相同时,一般使用String.equals(String)。

在这里我们有一点要注意的是,当我们验证某一String变量是否等于某一String常量时,equals方法前后的顺序也是很重要的

例如下面:

public static void main(String[] args) {
		String username=null;
		if(username.equals("hehe")){
			System.out.println("Found");
		}else{
			System.out.println("Not Found");
		}
	}

当我们的变量username为null时,程序编译会报空指针异常

Exception in thread "main" java.lang.NullPointerException
    at cn.yue.base.simple.PostEqual.main(PostEqual.java:6)

我们将程序改为下面的写法:

public static void main(String[] args) {
		String username=null;
		if("hehe".equals(username)){
			System.out.println("Found");
		}else{
			System.out.println("Not Found");
		}
	}

程序执行结果为:

Not Found

你可能感兴趣的:(java)