StringBuffer类提供了一个字符串的可变序列,类似于String类,但它对存储的字符序列可以任意修改,使用起来比String类灵活得多。它常用的构造函数为:
StringBuffer()
构造一个空StringBuffer对象,初始容量为16个字符。
StringBuffer(Stringstr)
构造一个StringBuffer对象,初始内容为字符串str的拷贝。
对于StringBuffer类,除了String类中常用的像长度、字符串截取、字符串检索的方法可以使用之外,还有两个较为方便的方法系列,即append方法系列和insert方法系列。
(1)append方法系列根据参数的数据类型在StringBuffer对象的末尾直接进行数据添加。
1
2
3
4
5
6
7
8
9
10
11
|
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方法系列根据参数的数据类型在StringBuffer的offset位置进行数据插入。
1
2
3
4
5
6
7
8
9
10
|
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) 下面这个方法用于将stringbuffer对象的数据转换成字符串:
1
|
public String toString()
|
【例3.12】基于例3.11进行修改,使用StringBuffer对象得到如图3.10所示的输出界面。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
//程序文件名为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( "总长度为:" );
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构建StringTokenizer对象。
intcountTokens()
返回识别的总记号数。
booleanhasMoreTokens()
测试是否还有识别的记号。
booleannextToken(Stringdelim)
返回字符串delim分隔的下一个记号。
StringnextToken()
返回下一个识别的记号。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
import java.util.*;
public class UseToken
{
public static void main(String[] args)
{
String str = "数学::英语::语文::化学" ;
StringTokenizer st = new StringTokenizer(str, "::" );
System.out.println(str + "\n课程数为:" +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单词数为:" +st.countTokens());
while (st.hasMoreTokens())
{
System.out.println(st.nextToken());
}
}
}
|
总结
以上就是本文关于JAVA StringBuffer类与StringTokenizer类代码解析的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!
原文链接:http://blog.csdn.net/sac761/article/details/46965173