27java中的常用类----String中的方法(2)、StringBuilder类及其API

1.静态方法valueOf

package day01;
/**
 * String提供了若干重载的静态方法
 * 将其他数据类型转换为字符串类型
 * @author Administrator
 *
 */
public class ValueOfDemo {
	public static void main(String[] args){
		double pi = 3.1415926;
		//将Double值转换为字符串形式
		String piStr = String.valueOf(pi);
		System.out.println(piStr);
		//将int值转换为字符串形式
		String intStr = String.valueOf(1);
		System.out.println(intStr);
		//将boolean值转换为字符串形式
		String booleanStr = String.valueOf(false);
		System.out.println(booleanStr);
		
		
	}
}

2.StringBuilder类及其API

  • 和String对象不同,StringBuilder封装可改变的字符串,对象创建后可以通过调用方法改变其封装的字符序列

  • StringBuilder有如下常用的构造方法
    public StringBuilder()
    public StringBuilder(String str)

  • 构造方法StringBuilder()将创建不含任何字符序列的StringBuilder对象;而StringBuilder(String str)将创建包含参数字符串str的StringBuilder对象

  • StringBuilder提供了append、insert、delete和replace等方法,用于对其封装的字符序列进行追加、插入、删除、替换等操作

  • StringBuilder常用方法
    在这里插入图片描述

  • Demo

package day01;
/**
 * StringBuilder
 * 用于解决频繁修改字符串内容带来的资源消耗过度
 * 问题
 * 频繁修改字符串的首选
 * 其内部维护的是一个可变的字符数组,
 * 所以修改都是在当前对象
 * 内部完成的
 * @author Administrator
 *
 */
public class StringBuilderDemo {
	public static void main(String[] args){
		/*
		 * StringBuilder提供了对字符串编辑的
		 * 相关方法:
		 * 增:append
		 * 删:delete
		 * 改:replace
		 * 插:insert
		 */
		String str = "努力学习java";
		/**
		 * 将String转换为StringBuilder
		 * 可以使用有参的构造方法
		 * StringBuilder也有无参构造方法,默认表示
		 * 空字符串
		 */
		StringBuilder builder = new StringBuilder(str);
		/**
		 * 从StringBuilder转换为String
		 * 使用StringBuilder的toString方法即可
		 */
		str=builder.toString();
		
		
		
		/**
		 * StringBuilder append(String str)
		 * 向当前字符串末尾追加指定内容
		 * 有若干重载方法,参数类型不同,这些重载方法
		 * 允许追加其他内容(先转换为字符串再追加)
		 * 
		 * 
		 * 努力学习Java,为了找个好工作
		 */
		builder.append(",为了找个好工作");
		System.out.println(builder.toString());
		
		//努力学习java,为了改变世界
		/*
		 * replace(int start,int end,String str)
		 * 从start(包含)处,到end(不包含)处范围内的
		 * 字符串替换为给定的字符串str
		 * 
		 */
		builder.replace(11, builder.length(), "改变世界");
		System.out.println(builder.toString());
		
		//努力学习java,就是为了改变世界
		/*
		 * insert(int offset,String str)
		 * 在给定的位置offset处插入字符串str
		 * 原位置及以后的字符串内容自动向后移动
		 */
		builder.insert(9, "就是");
		System.out.println(builder.toString());
		
		//,就是为了改变世界
		//delete方法:删除指定范围内的字符串
		builder.delete(0, 8);
		System.out.println(builder.toString());
		
		//活着,就是为了改变世界
		builder.insert(0, "活着");
		System.out.println(builder.toString());
		
		//反转字符串
		builder.reverse();
		System.out.println(builder.toString());
	}
}




package day01;
/**
 * StringBuilder修改字符串效率
 * @author Administrator
 *
 */
public class StringBuilderDemo2 {

	public static void main(String[] args) {
		StringBuilder builder 
			= new StringBuilder("a");		
		for(int i=0;i<10000000;i++){
			builder.append("a");
		}
		System.out.println("执行完啦");
	}

猜你喜欢

转载自blog.csdn.net/qq_44787898/article/details/102937160