###### tags: `Java 學習筆記`
# Java 學習筆記 - 7-1: 字串 String
## 屬於參考資料型態
一般參考資料型態在呼叫時需要 new,但 String 不用
所有需要加 new 的程式代表都要在執行時期才能被決定
(就算先寫好預計創建的空間數,系統也不會先行判斷要創造幾個空間)
```java=
String str = "123";
```
## 字串池 String Pool
因為字串沒有固定大小,所以放在記憶體 heap 裡,和 array 一樣
所以在判斷字串是否相等時要用 .equals,因為 == 是判段值,String 存的是位置
在編譯時期宣告的相同的 String 都會存在同一個位置,所以用 == 來判斷會得到 true 的結果
在編譯時期新增在 heap 中的字串區域又稱字串池 String Pool
每次在執行時期新增的字串會新增在 heap 中的不特定區域 (此段待確定)
## 常用的字串功能
lenght()
concat()
split()
substring()
contain()
replace()
compareTo() 利用 ASCII Code 的數值做減法比較
equals()
charAt() 拿出字串的指定位置個字元