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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

RT。求大神,谢谢

2 个回复

倒序浏览
我的理解是,==只适用于数值类型的对比,然后其他的char啊,String啊什么的,或者定义的对象间的对比,都用equals。我是这么理解的,==就是几等于几,equals就是谁跟谁是一样的。
回复 使用道具 举报
你可以这样理解:==对比的是变量储存的数据地址值,a.equal(b)对比的是a和b两个的内容。
  1. int a=10;
  2. int b=10;
  3. 则a==b将是true。
  4. 因为”10“这个int类型的值在内存中有固定的地址值,a和b都指向了同一个地址值。
  5. String a=new String( "foo ");
  6. String b=new String( "foo ");
  7. 则a==b将返回false。
  8. 应为a和b中的“foo”是在不同对象中创建的,因而有着不同的地址值,所以==不能判断,只能用equal()来判断。
复制代码

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