猿教程 Logo

Java StringBuffer类

Java StringBuffer类用于创建可变(可修改)字符串。 Java中的StringBuffer类与String类相同,除了它是可变的,即它可以更改。

注意:Java StringBuffer类是线程安全的,即多个线程不能同时访问它。 所以它是安全的。


StringBuffer类的构造函数

  1. StringBuffer():创建一个空StringBuffer,初始容量为16。

  2. StringBuffer(String str):使用指定的字符串创建一个StringBuffer。

  3. StringBuffer(int capacity):创建一个空StringBuffer,指定的容量为length。


StringBuffer类的重要方法

  1. public synchronized StringBuffer append(String s):用于将指定的字符串附加到此字符串。 append()方法与append(char),append(boolean),append(int),append(float),append(double)等重载。

  2. public synchronized StringBuffer insert(int offset,String s):用于在指定位置插入带有此字符串的指定字符串。 insert()方法与insert(int,char),insert(int,boolean),insert(int,int),insert(int,float),insert(int,double)等重载。

  3. public synchronized StringBuffer replace(int startIndex,int endIndex,String str):用于从指定的startIndex和endIndex替换字符串。

  4. public synchronized StringBuffer delete(int startIndex,int endIndex):用于从指定的startIndex和endIndex中删除字符串。

  5. public synchronized StringBuffer reverse():用于反转字符串。

  6. public int capacity():用于返回当前容量。

  7. public void ensureCapacity(int minimumCapacity):用于确保容量至少等于给定的最小值。

  8. public char charAt(int index):用于返回指定位置的字符。

  9. public int length():用于返回字符串的长度,即字符的总数。

  10. public String substring(int beginIndex):用于从指定的beginIndex返回子字符串。

  11. public String substring(int beginIndex,int endIndex):用于从指定的beginIndex和endIndex返回子字符串。


什么是可变字符串

可以修改或更改的字符串称为可变字符串。 StringBuffer和StringBuilder类用于创建可变字符串。

1)StringBuffer append()方法

append()方法将给定的参数与此字符串连接。

相关实例:

class A{
public static void main(String args[]){
StringBuffer sb=new StringBuffer("Hello ");
sb.append("Java");//now original string is changed
System.out.println(sb);//prints Hello Java
}
}

2)StringBuffer insert()方法

insert()方法将给定的字符串插入给定位置。

相关实例:

class A{
public static void main(String args[]){
StringBuffer sb=new StringBuffer("Hello ");
sb.insert(1,"Java");//now original string is changed
System.out.println(sb);//prints HJavaello
}
}

3)StringBuffer replace()方法

replace()方法替换指定的beginIndex和endIndex中的给定字符串。

相关实例:

class A{
public static void main(String args[]){
StringBuffer sb=new StringBuffer("Hello");
sb.replace(1,3,"Java");
System.out.println(sb);//prints HJavalo
}
}

4)StringBuffer delete()方法

StringBuffer类的delete()方法将从指定的beginIndex到endIndex中的字符串删除。

相关实例:

class A{
public static void main(String args[]){
StringBuffer sb=new StringBuffer("Hello");
sb.delete(1,3);
System.out.println(sb);//prints Hlo
}
}

5)StringBuffer reverse()方法

StringBuilder类的reverse()方法反转当前字符串。

相关实例:

class A{
public static void main(String args[]){
StringBuffer sb=new StringBuffer("Hello");
sb.reverse();
System.out.println(sb);//prints olleH
}
}

6)StringBuffer capacity()方法

StringBuffer类的capacity()方法返回StringBuffer的当前容量。 StringBuffer的默认容量为16.如果字符数从当前容量增加,则容量增加(oldcapacity * 2)+2。 例如,如果您当前的容量是16,它将是(16 * 2)+ 2 = 34。

相关实例:

class A{
public static void main(String args[]){
StringBuffer sb=new StringBuffer();
System.out.println(sb.capacity());//default 16
sb.append("Hello");
System.out.println(sb.capacity());//now 16
sb.append("java is my favourite language");
System.out.println(sb.capacity());//now (16*2)+2=34 i.e (oldcapacity*2)+2
}
}

7)StringBuffer ensureCapacity()方法

StringBuffer类的ensureCapacity()方法确保给定容量是当前容量的最小值。 如果它大于当前容量,则将容量增加(oldcapacity * 2)+2。 例如,如果您当前的容量是16,它将是(16 * 2)+ 2 = 34。

相关实例:

class A{
public static void main(String args[]){
StringBuffer sb=new StringBuffer();
System.out.println(sb.capacity());//default 16
sb.append("Hello");
System.out.println(sb.capacity());//now 16
sb.append("java is my favourite language");
System.out.println(sb.capacity());//now (16*2)+2=34 i.e (oldcapacity*2)+2
sb.ensureCapacity(10);//now no change
System.out.println(sb.capacity());//now 34
sb.ensureCapacity(50);//now (34*2)+2
System.out.println(sb.capacity());//now 70
}
}


版权声明:本站所有教程均为本站原创或翻译,转载请注明出处,请尊重他人劳动果实。请记住本站地址:www.yuanjiaocheng.net (猿教程) 作者:卿文刚
本文标题: C#环境
本文地址:http://www.yuanjiaocheng.net/Java/StringBuffer-class.html