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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 万正 黑马帝   /  2012-3-24 16:11  /  1804 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 万正 于 2012-3-24 18:18 编辑

String a ="hello";
String c = new String("hello");
String b ="he"+"llo";
System.out.println(a==b);
a和c是两个对象我知道
但为什么a==b是true呢?

3 个回复

倒序浏览
==用于比较引用和比较基本数据类型时具有不同的功能:
  比较基本数据类型,如果两个值相同,则结果为true
  而在比较引用时,如果引用指向内存中的同一对象,结果为true
回复 使用道具 举报
我的运行结果怎么就是 true 呢
回复 使用道具 举报
System.out.println(a==b);的结果肯定是true。
String b ="he"+"llo";在编译的时候就会优化成String b="hello";和a引用的地址是一样的。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马