String str0 = "abc";
String str1 = new String("abc");
第一句执行后,会在String pool中创建一个"abc",str0引用这个pool里的"abc"。
第二句执行后,不管池中有没有"abc",都会在堆里创建一个"abc",并返回其引用。
String str0 = "helloworld"; String str1 = "helloworld"; System.out.println(str0 == str1); //true System.out.println(str0.equals((str1))); //true
String str5 = new String("hello");
String str6 = new String("hello");
System.out.println(str5 == str6); //false
System.out.println(str5.equals((str6))); //true
搞不懂:
串池到底在哪个区域?栈内存?
执行new String("abc")时,若串池中没有"abc",到底在串池中创建"abc"吗?
时间: 2024-11-12 17:38:34