String=“”与new String();的区别
2018-11-21 本文已影响0人
mt大山
1):String a = "123";
- : String b = "123";
- : String c = new String("123");
1): 是存在常量储存区中的字符串常量池中,相同的字符串只会存在一个。
3): 存储在堆中,每次new一个就会产生一个新的对象。
所以1) == 2) 返回的结果为 true; 1).equals(2))为true;
1).equals(3))返回结果为true; 1) == 3) 返回结果为false;
- 在编译期间就会在内存中创建;
- 在运行时在堆中创建