黑马程序员技术交流社区

标题: 关于字符串的问题~ [打印本页]

作者: 万正    时间: 2012-3-24 16:11
标题: 关于字符串的问题~
本帖最后由 万正 于 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呢?
作者: 田斌    时间: 2012-3-24 16:32
==用于比较引用和比较基本数据类型时具有不同的功能:
  比较基本数据类型,如果两个值相同,则结果为true
  而在比较引用时,如果引用指向内存中的同一对象,结果为true
作者: 张明星    时间: 2012-3-24 16:39
我的运行结果怎么就是 true 呢
作者: 杨朝辉    时间: 2012-3-24 16:52
System.out.println(a==b);的结果肯定是true。
String b ="he"+"llo";在编译的时候就会优化成String b="hello";和a引用的地址是一样的。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2