溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

JAVA StringBuffer類與StringTokenizer類代碼解析

發(fā)布時(shí)間:2020-09-03 12:05:07 來(lái)源:腳本之家 閱讀:155 作者:sac761 欄目:編程語(yǔ)言

 StringBuffer類提供了一個(gè)字符串的可變序列,類似于String類,但它對(duì)存儲(chǔ)的字符序列可以任意修改,使用起來(lái)比String類靈活得多。它常用的構(gòu)造函數(shù)為:

StringBuffer()

構(gòu)造一個(gè)空StringBuffer對(duì)象,初始容量為16個(gè)字符。

StringBuffer(Stringstr)

構(gòu)造一個(gè)StringBuffer對(duì)象,初始內(nèi)容為字符串str的拷貝。

對(duì)于StringBuffer類,除了String類中常用的像長(zhǎng)度、字符串截取、字符串檢索的方法可以使用之外,還有兩個(gè)較為方便的方法系列,即append方法系列和insert方法系列。

(1)append方法系列根據(jù)參數(shù)的數(shù)據(jù)類型在StringBuffer對(duì)象的末尾直接進(jìn)行數(shù)據(jù)添加。

public StringBuffer append(boolean b)
public StringBuffer append(char c)
public StringBuffer append(char[] str)
public StringBuffer append(char[] str, int offset, int len)
public StringBuffer append(double d)
public StringBuffer append(float f)
public StringBuffer append(int i)
public StringBuffer append(long l)
public StringBuffer append(Object obj)
public StringBuffer append(String str)
public StringBuffer append(StringBuffer sb)

(2) insert方法系列根據(jù)參數(shù)的數(shù)據(jù)類型在StringBuffer的offset位置進(jìn)行數(shù)據(jù)插入。

public StringBuffer insert(int offset, boolean b)
public StringBuffer insert(int offset, char c)
public StringBuffer insert(int offset, char[] str)
public StringBuffer insert(int index, char[] str, int offset, int len)
public StringBuffer insert(int offset, double d)
public StringBuffer insert(int offset, float f)
public StringBuffer insert(int offset, int i)
public StringBuffer insert(int offset, long l)
public StringBuffer insert(int offset, Object obj)
public StringBuffer insert(int offset, String str)

(3) 下面這個(gè)方法用于將stringbuffer對(duì)象的數(shù)據(jù)轉(zhuǎn)換成字符串:

public String toString()

【例3.12】基于例3.11進(jìn)行修改,使用StringBuffer對(duì)象得到如圖3.10所示的輸出界面。

//程序文件名為TestString.java 
public class TestString 
{ 
  public static void main(String[] args) 
  { 
  StringBuffer str = new StringBuffer("The substring begins at the specified beginIndex."); 
  StringBuffer str1 = new StringBuffer("string"); 
  String str2 = new String(); 
  int size = str.length(); 
  int flag = str.indexOf("substring"); 
  str2 = str.substring(flag,flag + 9); 
  StringBuffer strOut = new StringBuffer("字符串"); 
  strOut.append(str); 
  strOut.append("總長(zhǎng)度為:");    
  strOut.append(size); 
  int f = strOut.indexOf("總"); 
  strOut.insert(f,'\n'); 
  System.out.println(strOut.toString());  
  if(str1.toString().equals(str2)) 
     System.out.println("截取的字符串為:" + str1.toString()); 
  else 
     System.out.println("截取的字符串為:" + str2); 
    } 
} 

StringTokenizer(Stringstr,Stringdelim)  

使用delim分隔符,以初始字符串str構(gòu)建StringTokenizer對(duì)象。  

intcountTokens()  

返回識(shí)別的總記號(hào)數(shù)。  

booleanhasMoreTokens()  

測(cè)試是否還有識(shí)別的記號(hào)。  

booleannextToken(Stringdelim)  

返回字符串delim分隔的下一個(gè)記號(hào)。  

StringnextToken()  

返回下一個(gè)識(shí)別的記號(hào)。  

import java.util.*; 
 
public class UseToken  
{ 
  public static void main(String[] args)  
  { 
    String str = "數(shù)學(xué)::英語(yǔ)::語(yǔ)文::化學(xué)"; 
    StringTokenizer st = new StringTokenizer(str,"::"); 
    System.out.println(str + "\n課程數(shù)為:" +st.countTokens()); 
  while (st.hasMoreTokens())  
  { 
  System.out.println(st.nextToken("::")); 
  } 
  str = "Hello this is a test"; 
  st = new StringTokenizer(str); 
  System.out.println(str + "\n單詞數(shù)為:" +st.countTokens()); 
  while (st.hasMoreTokens())  
  { 
    System.out.println(st.nextToken()); 
      } 
   } 
} 

總結(jié)

以上就是本文關(guān)于JAVA StringBuffer類與StringTokenizer類代碼解析的全部?jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專題,如有不足之處,歡迎留言指出。感謝朋友們對(duì)本站的支持!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI