A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 伍淑江 中级黑马   /  2013-3-14 21:58  /  1628 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 猫腻 于 2013-3-14 22:30 编辑

username.equals("admin")和"admin".equals(username)的区别是什么?

2 个回复

倒序浏览
本帖最后由 HM王琦 于 2013-3-14 22:10 编辑

借鉴一下API文档的解释:貌似没什么区别,都是连个字符串是否相等

public boolean equals(Object anObject)将此字符串与指定的对象比较。当且仅当该参数不为 null,并且是与此对象表示相同字符序列的 String 对象时,结果才为 true。

覆盖:
类 Object 中的 equals
参数:
anObject - 与此 String 进行比较的对象。
返回:
如果给定对象表示的 String 与此 String 相等,则返回 true;否则返回 false。

评分

参与人数 1技术分 +1 收起 理由
猫腻 + 1

查看全部评分

回复 使用道具 举报
这个区别不大,equals方法对于字符串来说是比较内容的,而对于非字符串来说是比较其指向的对象是否相同的。

"admin".equals(username)这种用法推荐使用,因为这样用不会报异常。
而username.equals("admin")这种用法中,如果username是null,这样就会报空指针异常

评分

参与人数 1技术分 +1 收起 理由
猫腻 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马