JavaSE总结:字符串与数组

1字符串创建与存储的机制

    String s1 = new String("abc")    String s2 = new String("abc")   两个引用对象 两个相同的字符串对象  他们内存地址是不同的 new总会生成新的对象

    String s1 = "abc"; String s2 = "abc";  s1 s2 引用的是同一个常量池中的对象   首先在字符串常量池中查找是否已经有相同的字符串被定义 依靠的是String类equals方法的返回值

      String s ="abc" ;      //把"abc"放到常量区中,在编译时产生

      String s ="ab"+"c" ;      //把"ab"+"c"转换为字符串常量"abc"放到常量区中

      String s =new String("abc");   //在运行时把"abc"放到堆里

  

      String s1 = "abc" ;       //在常量区存放一个"abc"字符串对象

      String s2 = "abc" ;       //s2 引用常量区中的对象 因此不会创建新的对象

      String s1 =new String("abc");   //在堆中创造一个新的对象

      String s2=new String("abc");    //在堆中又创造一个新的对象

猜你喜欢

转载自www.cnblogs.com/xiaoka000/p/12659784.html