为了账号安全,请及时绑定邮箱和手机立即绑定

如下所示,关于equals()的用法问题?麻烦通俗点,谢谢

如下所示,关于equals()的用法问题?麻烦通俗点,谢谢

qq_笑_17 2021-05-16 14:10:20
定义一个String str;请问str.equals("login")与"login".equals(str)有什么区别?
查看完整描述

2 回答

?
阿晨1998

TA贡献2037条经验 获得超6个赞

有区别 虽然结果是没区别
您String str声明了一个String类型的对象 如果String str="login" 就是定义了这个对象 此时在内存中就会有str这个对象的内存地址 即引用,而您后来出现了login 它同样会需要在内存中出现一个地方存储login,于是java的String池就会找出login同样值的另一个login地址,把这个login的地址指向池中的login的地址,所以就产生了用equals比对值。而"login".equals(str) 是把str的地址指向login所属的地址 是反过来的 。

查看完整回答
反对 回复 2021-05-23
?
慕姐4208626

TA贡献1852条经验 获得超7个赞

推荐使用"login".equals(str)
如果str为空,str.equals("login")会报空指针异常;第一个则可以避免

查看完整回答
反对 回复 2021-05-23
  • 2 回答
  • 0 关注
  • 287 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信