String=“”与new String();的区别

2018-11-21  本文已影响0人  mt大山

1):String a = "123";

  1. : String b = "123";
  2. : String c = new String("123");

1): 是存在常量储存区中的字符串常量池中,相同的字符串只会存在一个。
3): 存储在堆中,每次new一个就会产生一个新的对象。
所以1) == 2) 返回的结果为 true; 1).equals(2))为true;
1).equals(3))返回结果为true; 1) == 3) 返回结果为false;

  1. 在编译期间就会在内存中创建;
  2. 在运行时在堆中创建
上一篇 下一篇

猜你喜欢

热点阅读