★☆

★☆
posts - 0, comments - 0, trackbacks - 0, articles - 80
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

String,StringBuffer字符串处理

Posted on 2008-08-13 12:53 阅读(261) 评论(0)  编辑  收藏 所属分类: J2SM
String,StringBuffer字符串处理

首先谈谈String和StringBuffer类的区别:
一个String型变量一旦经过初始化,就不能被改变了。为什么它作为一个变量而又不能被改变呢?
其实变量只是一个代表某个内存区域的引用符号,用来访问或修改它所指向的内存空间。
在String型变量的情况下,String型变量所指向的内存空间中的内容是不能被改变的,这是Java语言规范规定的。
但是该变量可用于指向另外的内存空间。例如:
String s=new String("Hello");
s=“Hello World”;  //现在s指向内存中的新位置
在实际应用中,经常会遇到对字符串内容进行动态修改。在这种情况下,String类在功能受到限制。
Java提供了StringBuffer类来实现对字符串内容进行动态修改功能。根据StringBuffer类中提供成员方法分类,
StringBuffer类主要用于完成字符串的动态添加、插入、替换等操作。


String类的主要方法:
String类提供了length( )、charAt( )、indexOf( )、lastIndexOf( )、getChars( )、getBytes( )、toCharArray( )等方法。
在这些方法中,按用途来分,可以分为字符串长度计算、字符串比较、字符串检索、字符串的截取、替换等方法
StringBuffer类的主要方法:
1) append() 该功能主要由StringBuffer类中成员方法append完成,其作用就是将一个字符添加到另一个字符串缓冲区的后面。
   在应用中,如果添加字符的长度超过字符串缓冲区的的长度,则字符串缓冲区自动将长度进行扩充。
2) insert方法 字符串缓冲区StringBuffer的插入操作主要用于动态地向StringBuffer中添加字符。
3) toString() 实现字符串缓冲区与字符串之间的转换
4) charAt(int index)取得指定位置的字符。
5) getChars(int srcBegin,int srcEnd,char[] dst,int dstBegin)
   赋值指定位置的字符到字符串数组dst. 无返回值。
  下面的代码段为getChars方法的例子:
   StringBuffer sbfSource=new StringBuffer("You are the best!");
   char[] str;
   sbfSource.getChars(0,2,str,0); // "Yo"
6) delete(int start,int end)
   删除字符串缓冲区中起始序号为start、终止序号为end-1的字符,方法的返回类型为StringBuffer。
   StringBuffer sbfSource=new StringBuffer("You are the best");
   sbfSource.delete(0,3);  // are the best!
7) deleteCharAt(int index)
   删除字符串缓冲区中指定位置的字符,方法的返回类型为StringBuffer
8) public StringBuffer  replace(int start,int end,String str)
   将字符串缓冲区中起始位置为start、终止位置为end的字符替换为由字符串str指定的内容,方法返回类型为StringBuffer。
9) publuc String substring(int start,int end)
   取得字符串缓冲区中起始位置为start、终止位置为end的内容,方法返回类型为String
10) publuc String substring(int start)
   取得字符串缓冲区中从起始位置为start直至字符串缓冲区结束的所有字符,方法还回类型为String
11) reverse() 将字符串序列进行反转,结果为StringBuffer。
12) capacity() 用于得到目前字符串缓冲区的剩余长度,该方法的返回类型为整数。
13) public int length() 用于得到字符串缓冲区的长度。该方法的返回类型为整数。