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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zjingwen 中级黑马   /  2015-9-15 20:45  /  603 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

String a='a';
String b = 'a';
a==b与 a.equals(b)有啥区别{:2_32:}

2 个回复

倒序浏览
{:2_34:}  首先. 你这个 String a = 'a';是不对滴. 应该是双引号滴.
             然后,a==b比的是内存地址是否相同.
             a.equals(b)比的是内容是否相同.
最后,你定义变量a的值是a,内存中会存在这个a值.你再定义变量b的值为a的话,系统就自动把那个内存中的a值赋给b了,这样他们在内存中的地址就是相同的.
所以呢  你这样定义 不管a==b或者 a.equals(b)的结果都是true!
我也是菜鸟.说的不知道对不对...

回复 使用道具 举报
Morphine 发表于 2015-9-15 21:24
首先. 你这个 String a = 'a';是不对滴. 应该是双引号滴.
             然后,a==b比的是内存地址 ...

是呀。你说的对
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马