String的几种初始化方法的区别

时间:2022-02-16 16:20:07

参考了:

java中String的两种初始化方法

 

String a;

String aa = "";

String aaa = "123";

String b = new String();

String bb = new String("");

String bbb = new String("123");

String c = null;

 

System.out.println(aa == bb);        // false

System.out.println(aa.equals(bb));    // true

System.out.println(aa.equals(b));    // true

System.out.println(b == bb);        // false

System.out.println(bb.equals(b));    // true

System.out.println(c);                // null

a:未被初始化,什么操作也进行不了;

aa和aaa:内容不同,都是在字符串池中创建了字符串,然后返回的引用;

b和bb:没有区别,都是在堆中创建的字符串,与aa内容一样;

bbb:与b和bb只是内容不同;

c:null在java里是一个特别的东西,内容不同于aa;