栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

String、StringBuffer、StringBuider的区别

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

String、StringBuffer、StringBuider的区别

String、StringBuffer、StringBuider的区别
String是不可变的,如果修改了会生成一个新的字符串对象,StringBuffer和StringBuider是可以变的。
StringBuffer是线程安全的,但是效率比较低,StringBuider线程不安全,但是效率高,可以根据不同的应用场景进行选择。

Sring类中的创建方式
1、直接创建 String str = “abc”;
2、public String(),创建一个空白的字符串,不含有任何的内容
String str = new String();//这是一个空的字符串,无内容
3、public String(char[] array),根据字符数组的内容,来创建对应的字符串
char[] charArray = {‘A’,‘B’,‘C’};
String str = new String(charArray);
//ABC
4、public String(byte[] array) ,根据字节数组的内容,来创建对应的字符串
byte[] byteArray = { 97 , 98 , 99 };
String str = new String(byteArray);
//abc

StringBuffer

StringBuffer类的常用方法
public StringBuffer append(String str)
将字符串str追加到StringBuffer的缓存中。
public String toString()
返回一个字符串,将缓存中的字符串内容返回到一个字符串对象中。
public StringBuffer insert(int offset, String str)
在指定位置插入字符串。

public static void main(String[] args) {
		// TODO Auto-generated method stub
		StringBuffer stringBuffer = new StringBuffer("abc");

		stringBuffer.append("def").append("ghi");
		stringBuffer.append("ddd").append("slsfh");

		stringBuffer.insert(3, "0000");
		System.out.println(stringBuffer);
	}

StringBuilder:
StringBuilder和StringBuffer相似,两个类的构造器和方法基本相同。不同的是,StringBuffer是线程安全的,StringBuiler则没有实现线程安全功能,但是性能略高。因此,在通常情况下,如果需要创建一个内容可变的字符串 对象,应该优先考虑使用StringBuilder类。

public class Test {

	public static void main(String[] args) {

		StringBuffer sb = new StringBuffer();
		//追加字符串,append方法
		sb.append("java");//此时sb="java"
		System.out.println("追加后:"+sb);
		//插入操作
		sb.insert(0, "hello ");//在索引是0的位置插入hello,此时 sb = "hello java"
		System.out.println("插入后:"+sb);
		//删除操作
		sb.delete(5, 6);  //此时sb="hellojava"
		System.out.println("删除后:"+sb);
		//反转
		sb.reverse(); //sb="avajolleh"
		System.out.println("反转后:"+sb);
		//length()表示字符串长度
		System.out.println(sb.length());//输出9
		//capacity()表示容量,一般比length()大
		System.out.println(sb.capacity());//输出16
		//setLength():设置长度
		sb.setLength(5);
		System.out.println(sb);
	}
	
}

希望大家作为参考!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/642662.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号