淺談Java語言字串類使用

才智咖 人氣:8.7K

【摘 要】對於一種程式語言來說,字串處理是經常要進行的操作,Java語言類庫中提供了兩種常用的字串類String類和StringBuffer類。本文通過兩個例項討論了String類和StringBuffer類的特點和區別。

【關鍵詞】Java程式設計;字串使用;教學策略

0 引言

所有程式設計語言都要涉及對字串的處理,在Delphi和C語言中,字串的處理是用函式來完成的。而Java作為一種完全物件導向的語言,以類的方式提供對字串的操作。Java語言對字串進行了封裝,主要提供了兩種類對字串進行操作,分別是String類和StringBuffer類。String類建立的物件是隻讀的字串,在字串建立以後,其內容就不能再修改;而StringBuffer類建立的是可編輯字串,所以StringBuffer類又叫做可編輯字串類,可以用來處理需要轉變的字串。

1 判斷字串是否是迴文

所謂迴文字串,就是這個字串從前往後讀,和從後往前讀的內容都相同。例如字串“abccba”就是一個迴文。而字串“123”就不是迴文。判斷一個字串是否是迴文,可以用String類來判斷,也可以用StringBuffer類來判斷。假設判斷String型別的字串str是否是迴文。程式碼如下:

int low=0,up=th()-1;

while(low  if((At(low))!=At(up)) return false;

else {low++;up--;}

}

return true;

從以上的程式碼中可以看到,判斷String型別的字串str是否是迴文,需要一個一個遍歷字串的內容,從前往後第i個字元和從後往前第i的字元是否相同,如果不相同,返回false,退出迴圈。如果已經遍歷結束,那麼返回true。

如果判斷StringBuffer類的字串str是否是迴文,程式碼如下:

StringBuffer s1 =new StringBuffer(str);

rse();

if(ring()ls(ring()))

return true;

else

return false;

從以上程式碼可以看到,因為StringBuffer作為可編輯字串,所以提供了reverse()策略,把StringBuffer類的字串內容反轉。在上述程式碼中,把原來str的字串內容儲存在s1中,再判斷s1反轉後,兩個字串是否相同。因為String類覆蓋了equals策略,可以判斷兩個字串內容是否相同。而StringBuffer類沒有覆蓋其父類Object類的equals策略,所以應用equals策略只能判斷兩個字串物件是否是同一個物件,而不能判斷他們的內容是否相同。所以,要應用toString策略把兩個StringBuffer類的字串先轉化為String類的字串,然後再比較內容是否相同。

2 兩種型別字串比較

String和StringBuffer類的程式碼如下,那麼輸入結果怎麼樣呢?

StringBuffer str1 = new StringBuffer("Hello!");

StringBuffer str2 = str1;

String str3 = new String(str1);

String str4 = str3;

nd("This is a StringBuffer!");

tln(str1+"n"+str2);

str3 = at("The string is too long.");

tln(str3+"n"+str4);

在以上程式碼中Str1和str2指向同一個StringBuffer類的字串,所以,當執行append函式時候,字串本身發生變化,所以,輸出str1和str2結果是一樣的。String類的'兩個字串連線的函式是concat,該函式的功能是返回一個新的字串,反映兩個String類字串的連線效果。在上述程式中把連線後的字串重新賦值給str3,所以str3和str4輸出結果不一樣。通過以上分析,我們可以得到該程式的輸出結果如下所示。

Hello!This is a StringBuffer!

Hello!This is a StringBuffer!

Hello!The string is too long.

Hello!

3 總結

Java字串類是Java中使用最多的類之一,String和StringBuffer他們都可以儲存和操作字串。本文通過兩個例項,詳細給出了String類字串和StringBuffer可編輯字串在使用策略上的區別。

【參考文獻】

[1]蹇旭.探析Java中的字串[J].科技風,2009(13).

[2]鄭霞,郭磊語言中字串常量和變數的分析與比較[J].安陽師範學院報,2012(2).

[3]汪文.用JAVA小應用程式實現正則表示式下字串的查詢[J].九江職業技術學院學報,2002(2).