关于字符串空验证的问题

一时懿亮 2009-08-30 10:24:10
String aa = request.getParameter("aa");
aa==null和aa.equals("")的区别是什么?if判断时有什么先后顺序吗?要是有请说出原因,谢谢!
...全文
173 9 打赏 收藏 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
yanliang_xt 2009-08-30
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 bigbug9002 的回复:]
引用 3 楼 yanliang_xt 的回复:
我觉得这样:
"".equals(aa)
就可以把这两种情况都判断了。


试了一下,行不通啊,""与null不相等。
[/Quote]

呵呵,让你抢先回了,的确不行。。
两者的确不相等。。差点误了有家。。。
bigbug9002 2009-08-30
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 yanliang_xt 的回复:]
我觉得这样:
"".equals(aa)
就可以把这两种情况都判断了。
[/Quote]

试了一下,行不通啊,""与null不相等。
bigbug9002 2009-08-30
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 yanliang_xt 的回复:]
我觉得这样:
"".equals(aa)
就可以把这两种情况都判断了。
[/Quote]

有道理。
bigbug9002 2009-08-30
  • 打赏
  • 举报
回复
aa==null||aa.length()==0这也是一法.

aa==null为真说明aa没有指向任何字符串。
aa.length()==0或者aa.equals("")说为真aa指向的字符串长度为0.

aa==null||aa.equals("")这样的表达式由于逻辑表达式的短路,所以是成立的,不用担心抛出空指针异常。
loveofmylife 2009-08-30
  • 打赏
  • 举报
回复
==判断引用的地址
equal判断是否为同一个对象
fiwiner 2009-08-30
  • 打赏
  • 举报
回复
如果:
String a;
String b = new String();

那么(a == null) = true
(b.equals("")) = true
yanliang_xt 2009-08-30
  • 打赏
  • 举报
回复
我觉得这样:
"".equals(aa)
就可以把这两种情况都判断了。
【如鱼饮水】 2009-08-30
  • 打赏
  • 举报
回复
aa==null||aa.equals("")
非典型射手 2009-08-30
  • 打赏
  • 举报
回复
aa==null表示对象为空,也就是根本没有"aa"这个参数。
aa.equals("")是有这个对象的,只是这个字符串的长度为0.

对于一个null的对象,调用任何方法都将抛出NullPointerException,equals方法也不例外,所以你必须先判断是否为空,然后才能判断是否为空串

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧