1 String
在 Java 中字符串屬於對象,Java 提供了 String 類 來創建和操作字符串。
1.1 實例化 String 對象
// 方法1:直接賦值
String name = "GNN";
// 方法2:使用new調用String類中的構造方法
String name = new String("GNN");
匿名對象
匿名對象就是沒有明確給出名字的對象。
一般匿名對象只使用一次,而且匿名對象只在堆內存中開闢空間,而不存在棧內存的引用。
兩種實例化方式的區別
首先要明白一個重要概念:一個字符串就是一個 String 類的匿名對象。
匿名對象就是已經開闢了堆內存空間的並可以直接使用的對象。
String str1 = "hello";
上述代碼實際上就是把一個在堆中開闢好的堆內存空間的使用權給了 str1 對象。
如果一個字符串已經被一個名稱所引用,則以後再有相同的字符串聲明時,就不會再重新開闢空間。
1.2 String 的內容比較
對於基本數據類型可以通過 “==” 進行內容的比較,那麼對於 String 呢?
因此,無法使用 “==” 進行字符串內容判斷。那該如何 判斷兩個字符串的內容是否相等 ?
利用 String 的 equals() 方法,該方法將內容進行比較。如下(初始化與上例相同):
1.3 字符串的內容不可改變
在使用 String 類進行操作時,一定要牢記 字符串的內容不可改變 這一重要特性,避免代碼性能低。如果需要對字符串做很多修改,那麼應該選擇使用 StringBuffer & StringBuilder 類。
1.4 String 類中常用方法
其中,split 和 replaceAll 兩個方法是 String 對正則表達式的支持,在使用時可以使用正則表達式進行復雜的匹配。
注意:
數組長度: A.length
字符串長度: str.length()