java中 name.equals("root") 和 (name).equals("root")有什么区别

 我来答
lzlliang
2011-08-12 · TA获得超过118个赞
知道答主
回答量:65
采纳率:0%
帮助的人:43.2万
展开全部
是这样的,效果都是一样,但是我们经常会用前者。

你的写法有漏洞,因为很容易出现空指针异常,我打个比方,比如你的name为null,那么执行这任何一句就会出问题。
解决的方法是,将字符串写前面,比如"root".equals(name) ,这样可以有效避免空指针异常。

其实我想到了java中的"==",equals是值比较,==是地址比较,我想起了String常量池,呵呵。有兴趣可以去看下。
whbttst
2011-08-10 · TA获得超过787个赞
知道小有建树答主
回答量:953
采纳率:94%
帮助的人:452万
展开全部
它俩实际效果是一样的,带括号的只在括号内表达式最后的结果和root做比较,也只能这样去理解。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
万盛一霸
2011-08-10 · 超过36用户采纳过TA的回答
知道小有建树答主
回答量:204
采纳率:0%
帮助的人:56.3万
展开全部
建议你用:"root".equals(name)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式