String是一個比較特別的資料型態,它是一個物件類別( Object ),基本型態所對應的物件類別,可直接給於相同類型的值,而不需使用new來產生物件,而String資料型態跟基本型態一樣可以直接給於值,不過String沒有相對應的基本型態。
String在使用上十分普遍,大部份的資料型能都可以變成String存放。String本身是字串是使用utf8格式存放的,所以在計算字元時,一個中文字跟一個英文字都是算1,這點是跟其它程式語言不太一樣的。
由字元組成的文字符號稱為字串,例如"Hello"字串是由'H'、'e'、'l'、'l'、'o'五個字元組成,在某些程式語言中,字串是以字元陣列的方式存在,然而在Java中,字串是java.lang.String實例,用來包裹字元陣列,你可以用""包括一串字元來建立字串:
String name = "justin"; // 建立String實例
System.out.println(name); // 顯示justin
System.out.println(name.length()); // 顯示長度為6
System.out.println(name.charAt(0)); // 顯示第一個字元j
System.out.println(name.toUpperCase()); // 顯示JUSTIN
由於字串在Java中是物件,所以自然也就擁有一些可操作的方法,像是這個程式片段中所示範的,可以使用length()取得字串長度,使用charAt()指定取得字串中某個字元,索引從0開始,使用toUpperCase()將原本小寫的字串內容轉為大寫的字串內容。
如果你已經有一個char[]陣列,也可以使用new來建構String實例。例如:
char[] cs = {'j', 'u', 's', 't', 'i', 'n'};
String name = new String(cs);
如果必要,也可以使用String的toCharArray()方法,以將字串以char[]陣列傳回:
char[] cs2 = name.toCharArray();