猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
如下所示,关于equals()的用法问题?麻烦通俗点,谢谢
定义一个String str;
请问str.equals("login")与"login".equals(str)有什么区别?
qq_笑_17
浏览 288
回答 2
2回答
阿晨1998
有区别 虽然结果是没区别您String str声明了一个String类型的对象 如果String str="login" 就是定义了这个对象 此时在内存中就会有str这个对象的内存地址 即引用,而您后来出现了login 它同样会需要在内存中出现一个地方存储login,于是java的String池就会找出login同样值的另一个login地址,把这个login的地址指向池中的login的地址,所以就产生了用equals比对值。而"login".equals(str) 是把str的地址指向login所属的地址 是反过来的 。
0
0
0
慕姐4208626
推荐使用"login".equals(str)如果str为空,str.equals("login")会报空指针异常;第一个则可以避免
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
Java
C
typedef入门问题
1 回答
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续