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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 嘿→那个谁㊣ 高级黑马   /  2018-5-12 17:04  /  1138 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

字符串的拼接
                        String s1 = "hello";
                        String s2 = "world";
                        String s3 = "helloworld";
                        System.out.println(s3 == s1 + s2);// false
                        System.out.println(s3.equals((s1 + s2)));// true

                        System.out.println(s3 == "hello" + "world");// false 这个我们错了,应该是true
                        System.out.println(s3.equals("hello" + "world"));// true

1 个回复

倒序浏览
System.out.println(s3 == "hello" + "world");
这句是true的原因:
        因为编译器会把"hello"+"world"直接合并为"helloworld"常量,s3引用的是常量池里的"helloworld",所以比较地址值就true
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马