Java基础学习(六):StringBuilder、StringBuffer、String类方法汇总

Java基础学习(六):StringBuilder、StringBuffer、String类方法汇总

一、为什么要学习StringBuilder、StringBuffer?

  • 字符串拼接,删除,改动需要重新申请内存,重新复制对象,浪费空间与时间。
  • StringBuilder、StringBuffer事先会分配一定的大小空间,字符串操作不需要重新分配内存。
  • StringBuilder是非线程安全,StringBuffer是线程安全,前者效率高。

二、StringBuilder、StringBuffer的创建方法

  • StringBuilder() 默认16字节
  • StringBuilder(int capacity) 自定义内存大小
  • StringBuilder(String str ) 输入字符串
    示例:
public class first {
	public static void main(String[] args) {
			StringBuilder s1 = new StringBuilder();
			StringBuilder s2 = new StringBuilder(32);
			StringBuilder s3 = new StringBuilder("hahahaha");
			System.out.println("s1 is :" + s1);
			System.out.println("s2 is :" + s2);
			System.out.println("s3 is :" + s3);
	}
}
//---------------输出----------------
s1 is :
s2 is :
s3 is :hahahaha

三、StringBuilder常见操作

方法 功能描述 备注
append() 将基本类型数值和字符串数组转化成字符串,并添加到StringBuilder末端 append有函数重载
insert() 将基本类型数值和字符串数组转化成字符串,并插入到StringBuilder对象指定的索引位置,其他位置字符依次后移 传入两个入参,一个是插入位置,一个是插入的字符或字符串
delete(int start , int end) 删除该对象指定索引范围的字符 改变了原字符串,左闭右开
charAt() 返回StringBuilder对象序列中,入参索引位置的字符值
capacity() 返回当前容量,以字符为单位
replace(int start , int end , String str) 将指定范围的字符串替换成新的字符串 左闭右开
reverse() 将字符串反转 返回StringBuilder对象,原来的对象被改变
toString() 可以将对象内容打印出来

示例:

public class first {
	public static void main(String[] args) {
			StringBuilder s3 = new StringBuilder("hahahaha");
			s3.append(",hello");					//输出:s3 is :hahahaha,hello
			s3.insert(0, "GG");						//输出:s3 is :GGhahahaha,hello
			s3.delete(2, 10);						//输出:s3 is :GG,hello
			System.out.println(s3.charAt(2));		//输出:,
			s3.replace(0, 2, "i love you");			//输出:s3 is :i love you,hello
			System.out.println(s3.reverse());		//输出:olleh,uoy evol i /n s3 is :olleh,uoy evol i
			System.out.println("s3 is :" +s3);
	}
}

StringBuffer与StringBuilder基本方法大概一样。

猜你喜欢

转载自blog.csdn.net/weixin_43818177/article/details/105237655