黑马程序员技术交流社区

标题: 关于Stirng类的一道面试题 [打印本页]

作者: 京巨    时间: 2015-9-11 23:26
标题: 关于Stirng类的一道面试题
  1. public class Demo {
  2.         public static void main(String[] args) {
  3.                 String s1 = "你好";//s1 = 0x2233
  4.                 String s2 = "你好";//s2 = 0x2233
  5.                 System.out.println("s1 == s2 : " + (s1 == s2));//true
  6.                 System.out.println("s1.equals(s2) : " + (s1.equals(s2)));//true
  7.                
  8.                 String s3 = "你好";
  9.                 String s4 = new String("你好");
  10.                 System.out.println("s3 == s4 : " + (s3 == s4));//false
  11.                 System.out.println("s3.equals(s4) : " + (s3.equals(s4)));//true
  12.                
  13.                 String s5 = new String ("你好");
  14.                 String s6 = new String("你好");
  15.                 System.out.println("s5 == s6 : " + (s5 == s6));//false
  16.                 System.out.println("s5.equals(s6) : " + (s5.equals(s6)));//true
  17.                
  18.                 //---------------------------------------------------------------------//
  19.                 String s7 = "你好";
  20.                 String s8 = "java";
  21.                 String s9 = "你好java";
  22.                 String s10 = s7 + s8;
  23.                 String s11 = s7 + "java";
  24.                 String s12 = "你好" + s8;
  25.                 String s13 = "你好" + "java";//s13 = "你好java";
  26.                
  27.                 System.out.println("s9 == s10 : " + (s9 == s10));//false
  28.                 System.out.println("s9 == s11 : " + (s9 == s11));//false
  29.                 System.out.println("s9 == s12 : " + (s9 == s12));//false
  30.                 System.out.println("s9 == s13 : " + (s9 == s13));//true
  31.         }
  32. }
复制代码



作者: ashun    时间: 2015-9-11 23:50
本帖最后由 ashun 于 2015-9-11 23:54 编辑

对于String对象,当不使用new生成对象时,如果内容一样,则内容会占同一个内存,两个引用指向了同一块内存;当使用new关键字时,内容会存储在不同的内存中;
equals比较的是两个对象的内容是否相同,而==比较的是两个对象的内存是否相同;

作者: zzq18217362451    时间: 2015-9-12 00:11
看的有点晕




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