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

首先是这么个问题    String s1="abcd";
                                  String s2="abcd";
                                  String s3="ab";
                                  String s4=cd";
s1==s2结果        s1==(s3+s4)结果       s1.equals(s3+s4)结果     分析原理如图如果理解有问题请指正





String数组地址问题.png (40.26 KB, 下载次数: 14)

String数组地址问题.png

1 个回复

倒序浏览
本帖最后由 pengbeilin 于 2015-8-26 12:40 编辑

确实是蛮奇妙的~拼接之后,就会存在新的地址中
  1.                  String a1 = "abcd";
  2.                 String a2 = "abcd";
  3.                 String b = "ab";
  4.                 String c = "cd";
  5.                 String d = b+c;
  6.                 System.out.println(a1==a2);//true
  7.                 System.out.println(a1.equals(a2));//true
  8.                 System.out.println(a1==(b+c));//false
  9.                 System.out.println(a1.equals(b+c));//true
  10.                 System.out.println(a1.equals(d));//true
  11.                 System.out.println(a1==d);//false
  12.                 System.out.println(d.equals(b+c));//true
复制代码


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