假设在一个简单的登录验证系统中,要求只有用户名是admin的才能登录,c是从上一个页面传过来的用户名,那么c的值就有可能是空值是吧,那么
if(c.equals("admin"){
  ……
  }
  if("admin".equals(c)){
  ……
  }
有区别吗?

解决方案 »

  1.   

    if(c.equals("admin"){
      ……
      }if("admin".equals(c)){
      ……
      }
    若是c == null的时候
    第一个将 报空指针异常 而第二个正常判断不会报错一般变量与常量进行equals比较的时候,使用第二种形式
      

  2.   

    if(c.equals("admin"){如果c是null,就会报错,空指针异常if("admin".equals(c)){如果c是null,不会报null指针异常
      

  3.   

    当c == null的时候
    第一种将 报空指针异常(NullPointerException) 而第二个正常判断不会报错。
    一般情况:变量与常量进行equals比较的时候,使用第二种形式。
      

  4.   

    有区别
    如果c是null的话   
    c.equals("admin")写是会报空指针异常的 
    "admin".equals(c) 返回是false 表示 admin的值不为空