Java StringBuffer类

xiaoxiao2022-06-12  50

1:String 与 StringBuffer的区别         String:在String类中没有用来改变已有字符串中的某个字符的方法,由于不能改变一个java字符串中的某个单独 字符,所以在JDK文档中称String类的对象是不可改变的。然而,不可改变的字符串具有一个很大的优点:编译器可 以把字符串设为共享的。    StringBuffer: StringBuffer类属于一种辅助类,可预先分配指定长度的内存块建立一个字符串缓冲区。这样使用 StringBuffer类的append方法追加字符 比 String使用 + 操作符添加字符 到 一个已经存在的字符串后面有效率得 多。因为使用 + 操作符每一次将字符添加到一个字符串中去时,字符串对象都需要寻找一个新的内存空间来容纳更大 的字符串,这无凝是一个非常消耗时间的操作。添加多个字符也就意味着要一次又一次的对字符串重新分配内存。使 用 StringBuffer类就避免了这个问题.       2:StringBuffer类常用方法简介 StringBuffer类用于处理可变的字符串,它提供修改字符串的方法。 (1)构造方法: a. StringBuffer s0=new StringBuffer();分配了长16字节的字符缓冲区 b. StringBuffer s1=new StringBuffer(512);分配了512字节的字符缓冲区 c. StringBuffer s2=new StringBuffer("You are good!");  在字符缓冲区中存放字符串"Happy new year!",另外,后面再留了16字节的空缓冲区。 (2) 常用方法: a.字符设置和替换 setCharAt(int index,char ch),将指定的字符ch放到index指出的位置。 charAt(int index) 获得指定位置的字符 例如: s="stedent"; s.setCharAt(2,"u"),则s为"student" b.字符的插入 insert(int offset,char ch),在offset位置插入字符ch。 例如: StringBuffer s=new StringBuffer("wecome"); s.insert(2,'l'),则s为"welcome" c.在字符串末尾添加内容(Append方法) StringBuffer s=newStringBuffer("we"); char d={"l","c","o","m","e"}; s.append(d);则s为"welcome"。 d.转换为不变字符串:toString()。 e.获取字符串的长度: length() StringBuffer s = new StringBuffer("www"); int i=s.length(); f.获取字符串的容量  s.capacity(); g.重新设置字符串容量的大小:ensureCapacity()  s.ensureCapacity(100); h.设置字符串缓冲区的大小  s.setlength(10);  如果用小于当前字符串长度的值调用setlength()方法,则新长度后面的字符将丢失。 i.将字符串的子字符串复制给数组  getChars(int start,int end,char chars[],int charsStart)  String s1 = "This is a test";  int start =0;  int end = 10;  char ch1[] = new char[end-start];  s1.getChars(start,end,ch1,0);  System.out.println(ch1); j.字符串反转  s.reverse(); k.删除指定字符串着中的字符  delete(int start,int end)  s.delete(0,s.length()); //删除字符串s的全部字符  deleteCharAt(int index)  s.deleteCharAt(4); //删除字符串s索引为4的字符 l.替换字符串  replace(int start,int end,String str)  s.replace(0,1,"qqq"); m.返回字符串的一部分值  substring(int start) //返回从start下标开始以后的字符串  substring(int start,int end) //返回从start到 end-1字符串
转载请注明原文地址: https://www.6miu.com/read-4933362.html

最新回复(0)