Java常用类库--StringBuffer:append、insert、reverse、replace、subString、delete、indexOf

简介: <h1>1、认识StringBuffer</h1> <div><img src="http://img.blog.csdn.net/20131018095308812" alt=""><br></div> <h2>1.1字符串连接 操作append</h2> <div><img src="http://img.blog.csdn.net/20131018095542687" a

1、认识StringBuffer


1.1字符串连接 操作append


append方法返回StringBuffer类的实例化类对象。
public class StringBufferDemo01{
	public static void main(String args[]){
		StringBuffer buf = new StringBuffer() ;	// 声明StringBuffer对象 
		buf.append("Hello ") ;					// 向StringBuffer中添加内容
		buf.append("World").append("!!!") ;		// 可以连续调用append()方法
		buf.append("\n") ;						// 添加一个转义字符
		buf.append("数字 = ").append(1).append("\n") ;	// 添加数字
		buf.append("字符 = ").append('C').append("\n");	 // 添加字符
		buf.append("布尔 = ").append(true) ;	// 添加布尔值
		System.out.println(buf) ;			// 直接输出对象,调用toString()
	}
};
验证StringBuffer的内容可以修改,通过引用传递的方式来完成。
public class StringBufferDemo02{
	public static void main(String args[]){
		StringBuffer buf = new StringBuffer() ;	// 声明StringBuffer对象 
		buf.append("Hello ") ;		
		fun(buf) ;		// 传递StringBuffer内容 
		System.out.println(buf) ;	// 打印内容
	}
	public static void fun(StringBuffer s){		// 接收StringBuffer引用
		s.append("MLDN ").append("LiXingHua") ;	// 修改StringBuffer的内容
	}
};


1.2在任意位置处为StringBuffer添加内容insert


public class StringBufferDemo03{
	public static void main(String args[]){
		StringBuffer buf = new StringBuffer() ;	// 声明StringBuffer对象 
		buf.append("World!!") ;		// 添加内容
		buf.insert(0,"Hello ") ;		// 在第一个内容之前添加内容
		System.out.println(buf) ;
		buf.insert(buf.length(),"MLDN~") ;	// 在最后添加内容
		System.out.println(buf) ;
	}
};

1.3字符串反转操作reverse


public class StringBufferDemo04{
	public static void main(String args[]){
		StringBuffer buf = new StringBuffer() ;	// 声明StringBuffer对象 
		buf.append("World!!") ;		// 添加内容
		buf.insert(0,"Hello ") ;		// 在第一个内容之前添加内容
		String str = buf.reverse().toString() ;	// 将内容反转后变为String类型
		System.out.println(str) ;		// 将内容输出
	}
};

1.4替换指定位置的内容replace


public class StringBufferDemo05{
	public static void main(String args[]){
		StringBuffer buf = new StringBuffer() ;	// 声明StringBuffer对象 
		buf.append("Hello ").append("World!!") ;		// 向StringBuffer添加内容
		buf.replace(6,11,"LiXingHua") ;		// 将world的内容替换
		System.out.println("内容替换之后的结果:" + buf) ;	// 输出内容
	}
};

1.5字符串截取subString


public class StringBufferDemo06{
	public static void main(String args[]){
		StringBuffer buf = new StringBuffer() ;	// 声明StringBuffer对象 
		buf.append("Hello ").append("World!!") ;		// 向StringBuffer添加内容
		buf.replace(6,11,"LiXingHua") ;		// 将world的内容替换
		String str = buf.substring(6,15) ;	// 截取指定范围的内容
		System.out.println("内容截取之后的结果:" + str) ;	// 输出内容:LiXingHua
	}
};

1.6字符串删除delete

public class StringBufferDemo07{
	public static void main(String args[]){
		StringBuffer buf = new StringBuffer() ;	// 声明StringBuffer对象 
		buf.append("Hello ").append("World!!") ;		// 向StringBuffer添加内容
		buf.replace(6,11,"LiXingHua") ;		// 将world的内容替换
		String str = buf.delete(6,15).toString() ;	// 删除指定范围中的内容
		System.out.println("删除之后的结果:" + str) ;	// 输出内容
	}
};

1.7查找指定位置的内容是否存在indexOf


public class StringBufferDemo08{
	public static void main(String args[]){
		StringBuffer buf = new StringBuffer() ;	// 声明StringBuffer对象 
		buf.append("Hello ").append("World!!") ;		// 向StringBuffer添加内容
		if(buf.indexOf("Hello")==-1){
			System.out.println("没有查找到指定的内容") ;
		}else{	// 不为01表示查找到内容
			System.out.println("可以查找到指定的内容") ;
		}
	}
};

2、StringBuffer类的应用

public class StringBufferDemo09{
	public static void main(String args[]){
		String str1 = "LiXingHua" ;
		for(int i=0;i<100;i++){
			str1 += i ;		// 不断修改String的内存引用,性能低
		}
		System.out.println(str1) ;
	}
};
public class StringBufferDemo10{
	public static void main(String args[]){
		StringBuffer buf = new StringBuffer() ;
		buf.append("LiXingHua") ;
		for(int i=0;i<100;i++){
			buf.append(i);		// StringBuffer可以修改,性能高
		}
		System.out.println(buf) ;
	}
};

凡是需要频繁修改字符串内容的时候,都要使用StringBuffer类来完成。

目录
相关文章
|
2月前
|
存储 安全 Java
【JAVA基础】String、StringBuilder和StringBuffer的区别——巨详细
String是不可变的,StringBuilder和StringBuffer是可变的。而StringBuffer是线程安全的,而StringBuilder是非线程安全的。
|
25天前
|
存储 XML 缓存
Java字符串内幕:String、StringBuffer和StringBuilder的奥秘
Java字符串内幕:String、StringBuffer和StringBuilder的奥秘
21 0
|
3月前
|
安全 Java 调度
Java基础面试,String,StringBuffer,StringBuilder区别以及使用场景
* String是final修饰的,不可变,每次操作都会产生新的对象。 * StringBuffer和StringBuilder都是在原对象上进行操作 * StringBuffer是线程安全的,StringBuilder是线程不安全的。 * StringBuffer方法是被synchronized修饰的
|
2月前
|
存储 安全 前端开发
Java中的String类与StringBuilder、StringBuffer的比较:缺点与解决办法
Java中的String类与StringBuilder、StringBuffer的比较:缺点与解决办法
42 0
|
2月前
|
缓存 安全 Java
JAVA 常用类库 StringBuffer 和 StringBuilder
● 当对字符串进行修改的时候,需要使用 StringBuffer 和 StringBuilder 类。 ● 和 String 类不同的是,StringBuffer 和 StringBuilder类的对象能够被多次的修改,并且不产生新的未使用对象。 ● StringBuilder 类在 Java 5 中被提出,它和 StringBuffer 之间的最大不同在于 StringBuilder 的方法不是线程安全的(不能同步访问)。 ● 由于 StringBuilder 相较于 StringBuffer 有速度优势,多数情况下建议使用 StringBuilder类。然而在应用程序要求线程安全的情况下,
|
3月前
|
存储 缓存 安全
【Java进阶篇】String、StringBuilder 和 StringBuffer 的 区别
String、StringBuilder 和 StringBuffer 的 区别
29 0
|
3月前
|
Java
【JAVA】String ,StringBuffer 和 StringBuilder 三者有何联系?
【JAVA】String ,StringBuffer 和 StringBuilder 三者有何联系?
28 0
|
4月前
|
存储 安全 Java
Java中的String、StringBuffer和StringBuilder
其实可以看出,java底层实现字符串+的时候其实是用StringBuilder的append()来实现的,如果有字符串的连续+,jvm用StringBuilder append也可以实现优化。
48 0
|
5月前
|
存储 算法 安全
Java常用类库与技巧
Java常用类库与技巧
32 0
|
6月前
|
Java
Java String类和StringBuffer类的区别
Java String类和StringBuffer类的区别
34 0

相关产品

  • 云迁移中心

  • http://www.vxiaotou.com