String类型的修改

字符串的设计关注的是字符串的重用,对于修改字符串而言,效率与资源消耗都比较大,为此字符串不适合频繁的修改。
对此,java提供了一个专门用于修改字符串内容的类:
StringBulider和StringBuffer。其内部维护一个可变的char数组,所以修改都是建立在一个StringBuilder或StringBuffer对象上完成,不会反复创建新对象。并且其还提供了便于修改字符串内容的相关方法,
包括是操作有:增,删,改,插。

StringBuilder和StringBuffer都是用来修改字符串,两者的功能和方法都是一致的,两者的不同在于:在线程安全上,StringBuilder是线程不安全的,而StringBuffer是线程安全的。
StringBuffer的方法被Synchronized修饰,所以是线程安全的,StringBuilder的方法没有被修饰,所以线程不安全。

		//默认创建内部表示空字符串
		//StringBuilder builder = new StringBuilder();
		
		String string = "努力学习java";
		StringBuilder builder = new StringBuilder(string);
		
		/*
		 * append():向当前字符串末尾追加给定内容
		 */
		builder.append(",为了找个好工作!");
		//获取builder内部修改好的字符串
		string = builder.toString();
		System.out.println(string);//努力学习java,为了找个好工作!
		
		/*
		 * replace():将当前字符串指定范围内的内容替换为给定字符串(修改部分内容)
		 */      //  9         16
		//努力学习java,为了找个好工作!
		//努力学习java,就是为了改变世界!
		 builder.replace(9, 16, "就是为了改变世界");
		 System.out.println(builder.toString());//努力学习java,就是为了改变世界!
		 
		 /*
		  * delete():删除当前字符串部分内容
		  */
		 //努力学习java,就是为了改变世界!
		 //,就是为了改变世界
		 builder.delete(0,8);
		 System.out.println(builder.toString());//,就是为了改变世界
		 
		 /*
		  * insert():将指定内容插入到指定位置
		  */
		 //,就是为了改变世界
		 //,活着就是为了改变世界
		 builder.insert(1, "活着");
		 System.out.println(builder.toString());//,活着就是为了改变世界

猜你喜欢

转载自blog.csdn.net/jxy215/article/details/85061671