首頁  >  文章  >  Java  >  Java程式設計中的字串的進階使用

Java程式設計中的字串的進階使用

高洛峰
高洛峰原創
2017-01-16 10:59:191150瀏覽

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類別的常用方法

nIntcountTokens()

傳回StringTokenizer物件中被分割後子字串的數量

nBooleanhasMoreElements()

該方法的功能和hasMoreTokens()方法的函數一樣

是否包含分割好的子字串,有則返回true,否則返回false

ObjectnextElement()

該方法具有nextToken()一樣的功能,主要區別是它返回的不是String對象,而是一個Object對象

StringnextToken()

回傳StringTokenizer物件中下一個分割好的子字串

StringnextToken(String delim)

回傳StringTokenizer物件中下一個分割好的子字串,但是分隔符號重新設定為delim

n其實在有些程式語言中,例如C語言,其字串就是由字元陣列構成的,每個字串的結尾都用“

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn