## String的三種初始化方式 ```java public class Test { public static void main(String[] args) { String str1 = "Hello, World !"; //直接初始化 String str2 = new Strin ...
String的三種初始化方式
public class Test {
public static void main(String[] args) {
String str1 = "Hello, World !"; //直接初始化
String str2 = new String("Hello, World !"); //直接創建一個對象
String str3 = str1; //str3作為str1的引用
}
}
關於String變數所需要註意的地方
String變數的本質:在堆上申請一塊空間創建字元串,並讓指針指向這塊空間。
String變數發生改變(賦值),原指向的字元串空間不會被釋放,而是重新申請一塊空間創建字元串,並讓指針指向這塊空間。由於Java擁有自動記憶體管理機制,因此在程式運行結束或堆空間不足時會自動釋放沒有被引用的字元串空間。