JAVA雖然是在C++基礎上發展而來,但卻對C++的許多缺陷有所改進,其中一個不得不提的就是字符串,我們知道,隨著學習的深入,進入MFC時,當處理字符串或字元時,常會需要透過_T()巨集將字元或字串變成UNICODE型,否則,會在處理中出現BUG,而在JAVA中,字元char或儲存在Character類別中的字符,不是一個字節,而是2個位元組,採用UNICODE,這是為了支援全世界的所有字元。
字元的序列組成字串,有兩種類型的字串:一種是創建以後不需要修改的,稱為字串常數,在JAVA中,用String類別儲存;
一種是創建以後需要對其進行修改的,稱為字串變量,在JAVA中,用StringBuffer類別操作和管理。
StringBuffer類別
1、建立StringBuffer類別物件
StringBuffer類別物件表示的是字串變數(注意是"變數"),每個StringBuffer類別物件都是可以擴充和修改的字串變數。以下是常用的StringBuffer類別建構子:
(1)public StringBuffer()
建立一個新的空的StringBuffer類別的物件,其容量初值設定為16個字元(注意是16個字元) 2)public StringBuffer(int length)
建立一個新的空的StringBuffer類別的對象,其容量初值設定為length個字元
對象,其內容為str的內容,容量設定成str長度再加16個字元(注意:再加上16個字元)
2、StringBuffer類別物件的常用方法 (1)StringBuffer類別物件的擴充
StringBuffer類別提供兩組方法擴充 StringBuffer物件所包含的字元,分別為:
(Object obj)
append方法擴充於擴充StringBuffer物件中所包含的字符,且此方法將指定的參數物件轉換為字串後,將其附加在原來的StringBuffer物件之後,並傳回新的StringBuffer物件。附加的的參數物件可以是各種資料型別的,如int、char、String、double等。
2)public StringBuffer insert(
int插入位置offset,參數物件類型,參數物件名稱)
此方法將指定的參數物件轉換為字串,並傳回新的StringBuffer物件。
(2)StringBuffer類別物件的長度與容量
一個StringBuffer類別物件的長度指的是它所包含的字元數;容量指的是已指派的字元空間的數量。
1)public int length()
此方法傳回目前StringBuffer類別物件所包含的字元數。
2)public int capacity()
此方法傳回目前StringBuffer類別物件所分配的字元空間的數量。
(3)StringBuffer類別物件的修改 public void setCharAt(intindex,charch) 此方法將目前StringBuffer物件中的index位置的字元替換為指定的字元ch。
(4)字串的賦值和加法
字串是程式中要經常使用的資料類型,在Java編譯系統中引入了字串的賦值和加法操作。
(5)其它方法類似String類別的方法
3、利用StringTokenizer類別分解字串StringTokenizer類別位於java.util套件中, 在使用該類別時在程式開始加上importjavaizer.util.StringTokenizer或
importjava.util.*
StringTokenizer類
對於StringTokenizer類,其主要作用是將字串按照給定的分割符進行分割,其功能和String類的split方法類似
1、Tokenizer類的構造函數
(1)StringTokenizer(Stringstr)
為給定的字串str建立一個StringTokenizer對象,其分隔符號預設為「tnrf」,亦即:空格、水平製表符tab、換行、回車、表格符
(2)StringTokenizer(String str,String delim)
為給定的字串str建立一個StringTokenizer對象,其分隔符號為指定的字串delim,預設不包含分隔符號
為給定的字串str建立一個StringTokenizer對象,其分隔符為指定的字串delim,如果returnDelims為true,則建立的StringTokenizer對像中的每個字串包含有分隔符,否則不包含分隔符
2、 StringTokenizer類別的常用方法
傳回StringTokenizer物件中被分割後子字串的數量
nBooleanhasMoreElements()該方法的功能和hasMoreTokens()方法的函數一樣
是否包含分割好的子字串,有則返回true,否則返回falseObjectnextElement()
該方法具有nextToken()一樣的功能,主要區別是它返回的不是String對象,而是一個Object對象
StringnextToken()
回傳StringTokenizer物件中下一個分割好的子字串
StringnextToken(String delim)
回傳StringTokenizer物件中下一個分割好的子字串,但是分隔符號重新設定為delim
n其實在有些程式語言中,例如C語言,其字串就是由字元陣列構成的,每個字串的結尾都用“