黑马程序员技术交流社区

标题: 第二个为什么是false啊? [打印本页]

作者: 编程小黑    时间: 2015-7-20 00:12
标题: 第二个为什么是false啊?
被坑了,这道题第二个输出为什么是false啊?
class  Demo
{
        public static void main(String[] args)
        {
                String s1 = "abc";
           String s2 = new String("abc");
           System.out.println(s1==s2); //false
           String s3 = "a";
           String s4 ="b";
           String s5 ="ab";
           System.out.println(s3==(s4+s5)); //false

        }
}
作者: micro_hx    时间: 2015-7-20 00:47
你想表达什么意思啊???
作者: icichacici    时间: 2015-7-20 06:48
你是什么问题啊?

作者: 小虎199406    时间: 2015-7-20 09:53
楼主在干嘛
作者: xclyijin    时间: 2015-7-20 09:59
楼主第二个打印函数写错了把?
作者: gaoming971366    时间: 2015-7-20 10:26
==作为比较的时候,比较的是地址值,当然不一样,比较内容用equals
作者: WHY-y    时间: 2015-7-20 10:31
不明白。。。
作者: Happe_Sun    时间: 2015-7-20 11:00
学习学习
作者: 张红(新)    时间: 2015-7-20 12:43
System.out.println(s3==(s4+s5)); 这句编译不出错吗
作者: wengjialiang    时间: 2015-7-20 21:35
比较的还是地址值啊
作者: 辉大大    时间: 2015-7-20 21:47
String是一个特殊的引用类型,变量相加:运行时需新开辟内存空间,你这儿比较的地址值
作者: Mr冷夏    时间: 2015-7-20 21:58
怎么解释都是false
作者: Claw    时间: 2015-7-20 22:14
围观学习了
作者: wing-SF    时间: 2015-7-20 22:32
这咋也看也是false啊,楼主你是不是写错题了啊
作者: 鹰隼展翼    时间: 2015-7-20 22:42
楼主你题目抄错了
作者: 编程小黑    时间: 2015-7-20 22:44
=_='',最后的那个写错了,应该是(s5==s3+s4),抱歉,这个问题现在我也懂了,谢谢大家:lol
作者: chaotongyou    时间: 2015-7-20 22:45
上课又没听讲是不:lol
作者: 人造番茄    时间: 2015-7-20 22:52
==比较的是地址值
作者: 编程小黑    时间: 2015-7-20 23:50
chaotongyou 发表于 2015-7-20 22:45
上课又没听讲是不

被发现了=_=''




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