Java中为什么字符串的比较常量放前面好? 例如 "a".equals(str); null !=str;

 我来答
wjgchx
2013-01-16 · TA获得超过239个赞
知道小有建树答主
回答量:143
采纳率:0%
帮助的人:143万
展开全部
"a".equals(str); null !=str;
前一个表达应该这样最好,后一个则没有必要吧。
这里主要考虑str变量的情况,当引用一个变量(对象时),可能这个变量指向了一个空指针,就是没有指向具体的对象,
如果这样调用str.equals("a"),当str==null时就会出现异常。
匿名用户
2013-01-17
展开全部
有两种情况:
当("a").equals(str)时,如果str为null的时候返回false;
当str.equals("a")时,如果str为null时会抛NullPointerException空指针异常;
所有我们一般都将常量放前面。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友798774b
2013-01-16 · TA获得超过139个赞
知道答主
回答量:285
采纳率:0%
帮助的人:146万
展开全部
("").equals(str)在str为null的时候返回false,
str.equals("")在str为null时会抛空指针异常.

七里河团队答疑助人,希望我的回答对你有所帮助
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
疯狂的菜刀兔
2013-01-16
知道答主
回答量:29
采纳率:0%
帮助的人:8.7万
展开全部
没这种说法吧!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式