毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> java技术 >> 正文

userName==null 与 "".equals(userName) 与userName.equals("")区别

更新时间:2012-9-24:  来源:毕业论文

上面三个判断空有什么区别
三个测试值
 if(userName==null)
  {
  out.println("aa");
  }else{
  out.print("bb");
}
当什么都不填或空格的时候为bb
 if(userName.equals(""))
  {
  out.println("aa");
  }else{
  out.print("bb");
}
当什么都不填的时候为aa当为空格的时候为bb(这样写为什么有时候报错但有时候却不报错)

 if("".equals(userName))
  {
  out.println("aa");
  }else{
  out.print("bb");
}
当什么都不填的时候为aa当为空格的时候为bb

不太理解这三种写法有什么区别

(userName==null) 是判断 userName是不是为null
2. if(userName.equals("")) 
3. if("".equals(userName)) 
2,3差不多,不过如果userName为null时,2会报异常,而3为false,所以一般建议写法3

简单的说:

null是没有分配内存的,
equals("")是分配这个对象的,占内存的。
理解这个问题实际上就是理解null和“”的不同含义;
null,一个不确定的值,什么都有可能,有可能是“”,也可能不是“”,有可能是其他的值,总之,不确定;
而“”,代表一个value,确定了,他的value=“”;null != "";

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。