一、StringBuffer类
我们知道字符串是常量,一旦被创建后,它的内容和长度值是不能够改变的,当需要对一个字符串进行修改,只可以再创建,这样就有点麻烦,可以使用StringBuffer类来解决这个问题,修改它的内容和长度。它是一个容器,可以添加和删除,此时不会产生新的StringBuffer对象。
创建StringBuffer对象方法
StringBuffer( ):构造一个空的缓冲字符串,它是没有字符,初始容量为16个字符。
StringBuffer(int length):构造一个长度为length的空的缓冲字符串
StringBuffer(String str):构造一个缓冲字符串,它初始化内容为给定的字符串str,然后加上16个字符的初始容量。
二、StringBuffer常用方法
stringBuffer常用方法以下表示:
StringBuffer append(char c):添加参数到StringBuffer对象中。
StringBuffer insert(int index,String str):从字符串中index中插入字符串,形成新的字符串。
StringBuffer deleteCharAt(int index):删除指定位置的字符,把剩下的内容形成一个新的字符串。
StringBuffer delete(int start,int end):删除这个序列的字符串中的字符。
StringBuffer replace(int start,int end,String str):在StringBuffer对象中替换指定字符。
StringBuffer toString():把StringBuffer对象转换成String对象。
StringBuffer reserse():StringBuffer对象中的内容反转,形成新的字符串。
void setCharAt(int index,char c):修改指定位置index的字符串
StringBuffer常用方法例子
- public class p49 {
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- StringBuilder sb = new StringBuilder();
- sb.append("java");
- System.out.println("添加字符串到末尾:"+sb);
- sb.insert(0 , "hello ");
- System.out.println("在指定的位置插入字符串:"+sb);
- sb.replace(5, 6, ",");
- System.out.println("替换指定位置的字符串:"+sb);
- sb.delete(5, 6);
- System.out.println("删除指定位置的字符:"+sb);
- sb.reverse();
- System.out.println("字符串翻转:"+sb);
- System.out.println("字符串的长度为:"+sb.length());
- }
- }
运行的结果是:
三、String类和StringBuffer类区别
String类是字符串常量,被创建后它的内容和长度是不可以改变的。而StringBuffer类是字符的容量,它的内容和长度是可以发生改变的。
如果是表示数据类型的就用String类,需要对字符串的增删改的就可以使用StringBuffer类。
String类有Object类的equal()方法,StringBuffer类是没有这个equal()方法。我们通过下面的例子来看一下。
- public class p51 {
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- //String类
- String str1="hellojava";
- String str2="hellojava";
- if(str1.equals(str2)){
- System.out.println("String类结果:"+true);
- }else{
- System.out.println("String类结果:"+false);
- }
- //StringBuffer类
- StringBuffer sb1=new StringBuffer("hello");
- StringBuffer sb2=new StringBuffer("hello");
- if(sb1.equals(sb2)){
- System.out.println("StringBuffer类结果:"+true);
- }else{
- System.out.println("StringBuffer类结果:"+false);
- }
- }
- }
运行的结果是:
String类字符串的连接可以使用”+”,而StringBuffer类不可以使用这个”+”。我们通过下面的这个例子看一下:
- public class p52 {
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- String str1="hello";
- String str2="java";
- String str3=str1+str2;
- System.out.println("字符串str1和str2的拼接为:"+str3);
- //输出的结果是字符串str1和str2的拼接为:hellojava
- StringBuffer sb1=new StringBuffer("hello");
- StringBuffer sb2=new StringBuffer("java");
- StringBuffer sb3=sb1+sb2;//出现报错
- }
- }
运行的结果是:
四、总结
本文主要介绍了StringBuffer类、StringBuffer常用方法、String类和StringBuffer类区别。
StringBuffer类是字符的容量,它的内容和长度是可以发生改变的,介绍了它的创建StringBuffer对象方法。
StringBuffer常用方法通过例子帮助理解对字符串的操作。了解String类和StringBuffer类区别在程序开发中,知道这些的区别和用法。希望大家通过本文的学习,对你有所帮助!