Java語言中,把字串當作物件來處理,類別String就可以用來表示字串(類別名稱首字母都是大寫的)。
1.字串常數
字串常數是用雙引號括住的一串字元。
例如:"Hello World"
2. String表示字串變數
String用來可以建立字串對象,String使用範例:
1 String s=new String() ; //產生一個空白字串
2 String s1="Hello World"; //聲明s1為字串"Hello World"的引用
3. 字串判斷相等的方法String.equals()
在Java中判等是有講究的,往往直接使用==得出的答案可能是正確的也可能是錯誤的,看這段範例:
String s1="a"; String s2="a"; s1+="b"; System.out.println(s1=="ab"); // false System.out.println(s1==s2+"b"); // false System.out.println(s2=="a"); // true System.out.println(s1.equals("ab")); // true System.put.println(new String("ab")==new String("ab")); // false
看了這段程式碼,你可能會明白了。 ==判斷不只判斷記憶體位址中的內容是不是相等,還要判斷引用的位址是不是相等;而equals()方法則是用來判斷內容相等的,這下明白了吧?
還有以下幾點要注意的地方:
在Java中,內容相同的字符串常數(「a」)只保存一份以節約內存,所以s1,s2實際上引用的是同一個對象。
編譯器在編譯s1一句時,會去掉「+」號,直接把兩個字串連接起來得一個字串(「ab」)。這種最佳化工作由Java編譯器自動完成。
當直接使用new關鍵字建立字串物件時,雖然值一致(都是「ab」),但仍然是兩個獨立的物件。
4、存取字串
類別String中提供了length( )、charAt( )、indexOf( )、lastIndexOf( )、getChars( )、getBytes( )、toCharArray( )等方法。
public int length() 此方法傳回字串的字元數
public char charAt(int index) 此方法傳回字串中index位置上的字元public int indexOf(int ch)
public lastIndexOf(in ch)
回字元ch在字串中出現的第一個與最後一個的位置
. (String str) 回傳子字串中第一個字元在字串中出現的第一個和最後一個的位置public int indexOf(int ch,int fromIndex) public ch,int fromIndex).
回傳字元ch在字串中位置fromIndex以後出現的第一個和最後一個的位置
public int indexOf(String str,int fromIndex)
publicfint lastdexOfint 字串中的第一個字元在字串中位置fromIndex後出現的第一個和最後一個的位置。 public void getchars(int srcbegin,int end ,char buf[],int dstbegin) srcbegin 為要提取的第一個字元在原始字元串串中的位置, endend為原始字元的最後一個字元在原始字元中要提取的位置,字元數組buf[]存放目的字串,dstbegin 為提取的字串在目的字串中的起始位置。 public void getBytes(int srcBegin, int srcEnd,byte[] dst, int dstBegin) 參數及用法同上,但字串中的字元皆以8位元表示。 5、修改字串修改字串的目的是為了得到新的字串,有關各個方法的使用,參考java API。 String類別提供的方法:concat( )
replace( )
substring( )