JAVA学习【知】StringBuffer 类

来源:互联网 发布:双肩包男 知乎 编辑:程序博客网 时间:2024/05/04 23:19

 

StringBuffer与String十分相似

但也有着区别

StringBuffer 是可变形字符序列,String是不可变字符序列。

 

StringBuffer 相当于缓冲区,把字符串先放入缓冲区,然后在输出。

 

学习StringBuffer 类最好的办法先去查APIStringBuffer 类的方法,掌握常用的方法,并且上机调试看看输出结果

 

StringBuffer 的方法包括:

 

方法摘要
 StringBufferappend(boolean b)
          将 boolean 参数的字符串表示形式追加到序列。
 StringBufferappend(char c)
          将 char 参数的字符串表示形式追加到此序列。
 StringBufferappend(char[] str)
          将 char 数组参数的字符串表示形式追加到此序列。
 StringBufferappend(char[] str, int offset, int len)
          将 char 数组参数的子数组的字符串表示形式追加到此序列。
 StringBufferappend(CharSequence s)
          将指定的 CharSequence 追加到该序列。
 StringBufferappend(CharSequence s, int start, int end)
          将指定 CharSequence 的子序列追加到此序列。
 StringBufferappend(double d)
          将 double 参数的字符串表示形式追加到此序列。
 StringBufferappend(float f)
          将 float 参数的字符串表示形式追加到此序列。
 StringBufferappend(int i)
          将 int 参数的字符串表示形式追加到此序列。
 StringBufferappend(long lng)
          将 long 参数的字符串表示形式追加到此序列。
 StringBufferappend(Object obj)
          追加 Object 参数的字符串表示形式。
 StringBufferappend(String str)
          将指定的字符串追加到此字符序列。
 StringBufferappend(StringBuffer sb)
          将指定的 StringBuffer 追加到此序列中。
 StringBufferappendCodePoint(int codePoint)
          将 codePoint 参数的字符串表示形式追加到此序列。
 intcapacity()
          返回当前容量。
 charcharAt(int index)
          返回此序列中指定索引处的 char 值。
 intcodePointAt(int index)
          返回指定索引处的字符(统一代码点)。
 intcodePointBefore(int index)
          返回指定索引前的字符(统一代码点)。
 intcodePointCount(int beginIndex, int endIndex)
          返回此序列指定文本范围内的统一代码点。
 StringBufferdelete(int start, int end)
          移除此序列的子字符串中的字符。
 StringBufferdeleteCharAt(int index)
          移除此序列指定位置的 char
 voidensureCapacity(int minimumCapacity)
          确保容量至少等于指定的最小值。
 voidgetChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
          将字符从此序列复制到目标字符数组 dst
 intindexOf(String str)
          返回第一次出现的指定子字符串在该字符串中的索引。
 intindexOf(String str, int fromIndex)
          从指定的索引处开始,返回第一次出现的指定子字符串在该字符串中的索引。
 StringBufferinsert(int offset, boolean b)
          将 boolean 参数的字符串表示形式插入此序列中。
 StringBufferinsert(int offset, char c)
          将 char 参数的字符串表示形式插入此序列中。
 StringBufferinsert(int offset, char[] str)
          将 char 数组参数的字符串表示形式插入此序列中。
 StringBufferinsert(int index, char[] str, int offset, int len)
          将数组参数 str 的子数组的字符串表示形式插入此序列中。
 StringBufferinsert(int dstOffset, CharSequence s)
          将指定 CharSequence 插入此序列中。
 StringBufferinsert(int dstOffset, CharSequence s, int start, int end)
          将指定 CharSequence 的子序列插入此序列中。
 StringBufferinsert(int offset, double d)
          将 double 参数的字符串表示形式插入此序列中。
 StringBufferinsert(int offset, float f)
          将 float 参数的字符串表示形式插入此序列中。
 StringBufferinsert(int offset, int i)
          将 int 参数的字符串表示形式插入此序列中。
 StringBufferinsert(int offset, long l)
          将 long 参数的字符串表示形式插入此序列中。
 StringBufferinsert(int offset, Object obj)
          将 Object 参数的字符串表示形式插入此字符序列中。
 StringBufferinsert(int offset, String str)
          将字符串插入此字符序列中。
 intlastIndexOf(String str)
          返回最右边出现的指定子字符串在此字符串中的索引。
 intlastIndexOf(String str, int fromIndex)
          返回最后一次出现的指定子字符串在此字符串中的索引。
 intlength()
          返回长度(字符数)。
 intoffsetByCodePoints(int index, int codePointOffset)
          返回此序列中的一个索引,该索引是从给定 index 偏移 codePointOffset 个代码点后得到的。
 StringBufferreplace(int start, int end, String str)
          使用给定 String 中的字符替换此序列的子字符串中的字符。
 StringBufferreverse()
          将此字符序列用其反转形式取代。
 voidsetCharAt(int index, char ch)
          将给定索引处的字符设置为 ch
 voidsetLength(int newLength)
          设置字符序列的长度。
 CharSequencesubSequence(int start, int end)
          返回一个新的字符序列,该字符序列是此序列的子序列。
 Stringsubstring(int start)
          返回一个新的 String,它包含此字符序列当前所包含的字符子序列。
 Stringsubstring(int start, int end)
          返回一个新的 String,它包含此序列当前所包含的字符子序列。
 StringtoString()
          返回此序列中数据的字符串表示形式。
 voidtrimToSize()
          尝试减少用于字符序列的存储空间。

 

 

StringBuffer 类常有方法介绍(举例);

 

 

1.append(String str)

将一字符串连接到Mynameis后面。

 

public class Testappend {


 public static void main(String[] args) {
 String s= "Mynameis";
 StringBuffer sb1=new StringBuffer(s);
 sb1.append("String");                        //用到append方法
 System.out.println(sb1);

 }


}

 

 

 

public class TestStringBuffer {


 public static void main(String[] args) {
  String s="mcrisoft";
  StringBuffer sb = new StringBuffer(s);
   sb.append("/").append("SUN");
   System.out.println(sb);
   sb.delete(0, 8);
   System.out.println(sb);
   sb.insert(0,"micrisoft");
   System.out.println(sb);
   
   sb.insert(13,"/micrisoft" );
   System.out.println(sb);
   sb.reverse();
   System.out.println(sb);
 }

}

 

2.insert(int offset, String str)

 

 

public class TestInsert {


 public static void main(String[] args) {
  String s1="I am dog";
  StringBuffer sb1=new StringBuffer(s1);
  sb1.insert(4, " little");    //在第一个字符处添加 " little"
  System.out.println(sb1);
 }

}
输出结果 I am little dog

 

 

3.reverse()
          将此字符序列用其反转形式取代

 

public class TestReverse {


 public static void main(String[] args) {
  String s1="abcdefg";
  StringBuffer sb1 = new StringBuffer (s1);
  sb1.reverse();
  System.out.println(sb1);

 }

}

 

输出结果:gfedcba

 

 

 

 


 

 

原创粉丝点击