Java学习 StringBuffer类

StringBuffer就是字符串缓冲区

    特点:1,长度可变

               2,可以存储不同类型的数据

               3,最终还是转化成字符串

                4,可以对字符串进行修改

功能:

1,添加:StringBuffer    append(data)  //任意类型的数据

                StringBuffer    insert(index,data)     //在字符串的index位置插入数据

2,删除:StringBuffer    delete(start,end)  //包含头,不包含尾

                StringBuffer    deleteCharAt(int index)     //删除下标为index的元素

	public static void main(String[] args) 
	{
		StringBuffer sb = new StringBuffer("nihao");
		System.out.println(sb);
		sb.append(" hala");
		System.out.println(sb);
		sb.insert(1, true);
		System.out.println(sb);
		
		sb.delete(1, 5);
		System.out.println(sb);
		sb.deleteCharAt(2);
		System.out.println(sb);
	}

结果:

nihao
nihao hala
ntrueihao hala
nihao hala

niao hala

--------------

除了StringBuffer类之外,还有一个StringBuilder类,这个类与StringBuffer类的函数一模一样。

但是两者有两个不同点:

        1,StringBuffer是保证线程同步的,用于多线程

         2,StringBuilder是线程不同步的,用于单线程。

总之,如果我们没有使用单线程,最好使用StringBuilder,因为他比StringBuffer更快,

而如果我们使用多线程,为了安全,还是使用StringBuffer。



StringBuilder使用例子:

        将int型数组转化成String类型的

public static String arrrayToString(int[] arr)
	{
		StringBuilder sb = new StringBuilder();
		
		sb.append("[");
		for(int x = 0;x<arr.length;x++)
		{
			if(x!=arr.length-1)
				sb.append(arr[x]+",");
			else
				sb.append(arr[x]+"]");
		}
		return sb.toString();
	}



猜你喜欢

转载自blog.csdn.net/goddreamyyh/article/details/80770261