1.1 定义字符串
字符串是 Java 中特殊的類,使用方法像一般的基本數據類型,被廣泛應用在 Java 編程中。Java 沒有內置的字符串類型,而是在標準 Java 類庫中提供了一個 String 類來創建和操作字符串。
在 Java 中定義一個字符串最簡單的方法是用雙引號把它包圍起來。這種用雙引號括起來的一串字符實際上都是 String 對象,如字符串“Hello”在編譯后即成為 String 對象。因此也可以通過創建 String 類的實例來定義字符串。
不論使用哪種形式創建字符串,字符串對象一旦被創建,其值是不能改變的,但可以使用其他變量重新賦值的方式進行更改。
直接定義字符串
直接定義字符串是指使用雙引號表示字符串中的內容,例如“Hello Java”、“Java 編程”等。具體方法是用字符串常量直接初始化一個 String 對象,示例如下:
String str = "Hello Java";或者
String str; str = "Hello Java";注意:字符串變量必須經過初始化才能使用。
例 1
下面的實例演示了直接創建字符串的幾種用法。
使用 String 類定義
前面我們提到在 Java 中每個雙引號定義的字符串都是一個 String 類的對象。因此,可以通過使用 String 類的構造方法來創建字符串,該類位于 java.lang 包中(關于 Java 常用的包,教程后面會詳細講解)。
String 類的構造方法有多種重載形式,每種形式都可以定義字符串。下面介紹最常用的幾種形式。
注意:具有和類名相同的名稱,而且沒有返回類型的方法稱為構造方法。重載是指在一個類中定義多個同名的方法,但要求每個方法具有不同的參數的類型或參數的個數。
1. String()
初始化一個新創建的 String 對象,表示一個空字符序列。
`
初始化一個新創建的 String 對象,使其表示一個與參數相同的字符序列。換句話說,新創建的字符串是該參數字符串的副本。例如:
String str1 = new String("Hello Java"); String str2 = new String(str1);這里 str1 和 str2 的值是相等的。
3. String(char[ ]value)
分配一個新的字符串,將參數中的字符數組元素全部變為字符串。該字符數組的內容已被復制,后續對字符數組的修改不會影響新創建的字符串。例如:
char a[] = {'H','e','l','l','0'}; String sChar = new String(a); a[1] = 's';上述 sChar 變量的值是字符串“Hello”。 即使在創建字符串之后,對 a 數組中的第 2 個元素進行了修改,但未影響 sChar 的值。
4. String(char[] value,int offset,int count)
分配一個新的 String,它包含來自該字符數組參數一個子數組的字符。offset 參數是子數組第一個字符的索引,count 參數指定子數組的長度。該子數組的內容已被賦值,后續對字符數組的修改不會影響新創建的字符串。例如:
char a[]={'H','e','l','l','o'}; String sChar=new String(a,1,4); a[1]='s';上述 sChar 變量的值是字符串“ello”。該構造方法使用字符數組中的部分連續元素來創建字符串對象。offset 參數指定起始索引值,count 指定截取元素的個數。創建字符串對象后,即使在后面修改了 a 數組中第 2 個元素的值,對 sChar 的值也沒有任何影響。
總結
- 上一篇: 1.24 Lambda表达式与匿名内部类
- 下一篇: 1.2 String字符串和整型int的