java中的StringBuffer和StringBuilder

/*
	java.lang.StringBuffer;
	java.lang.StringBuilder;

		1.StringBuffer和StringBuilder是什么?
			是一个字符串缓冲区.

		2.工作原理
			预先在内存中申请一块空间,以容纳字符序列,
			如果预留的空间不够用,则进行自动扩容,以
			容纳更多字符序列。

		3.StringBuffer,StringBuilder  和  String最大的区别?

			String是不可变得字符序列,存储字符串常量池中。

			StringBuffer底层是一个char数组,但是该char数组是可变的。
			并且可以自动扩容。

		4.StringBuffer和StringBuilder的默认初始化容量是16

		5.如何优化StringBuffer和StringBuilder呢?
			最好在创建StringBuffer之前,预测StringBuffer的存储字符数量,
			然后再创建StringBuffer的时候采用指定初始化容量的方式创建StringBuffer.
			为了减少底层数组的拷贝。提高效率。

		6.StringBuffer和StringBuilder的区别?

			StringBuffer是线程安全的。(可以在多线程的环境下使用不会出现问题.)
			StringBuilder是非线程安全的。(在多线程环境下使用可能出现问题.)
*/
public class Test01{

	public static void main(String[] args){

		//创建字符串缓冲区对象
		StringBuffer sb = new StringBuffer(); //16

		//可以向StringBuffer中追加字符串.
		String[] ins = {"体育","音乐","睡觉","美食"};

		//推荐字符串频繁拼接使用StringBuffer或者StringBuilder
		for(int i=0;i<ins.length;i++){

			if(i==ins.length-1){

				sb.append(ins[i]);

			}else{

				sb.append(ins[i]);
				sb.append(",");

			}

		}

		System.out.println(sb);

	}

}
时间: 2024-10-07 11:34:04

java中的StringBuffer和StringBuilder的相关文章

Java中的StringBuffer、StringBuilder和包装器类型

1.如何使用StringBuffer类? 答:1).StringBuffer类用于表示可以修改的字符串,称为字符串缓冲对象: 2).使用运算符的字符串将自动创建字符串缓冲对象: 例:str1 + str2的操作,实际上把str1与str2都创建成StringBuffer类对象: 2.StringBuffer类的构造方法有哪些常用的重载方式? 答:StringBuffer()        创建一个空的StringBuffer对象,默认保留16个字符的缓冲空间 StringBuffer(Strin

Java中String,StringBuffer与StringBuilder的差别

String 字符串常量: StringBuffer 字符串变量〈缓冲区〉(线程安全): StringBuilder 字符串变量〈缓冲区〉(非线程安全): 简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经常改变内容的字符串最好不要用 String ,因为每次生成对象都会对系统性能产生影响

Java中string拼接,StringBuilder,StringBuffer和+

Java中string拼接,StringBuilder,StringBuffer和+,到底哪个更合适? StringBuilder线程不安全,效率较线程安全的StringBuffer高.jdk1.5之前,+操作会产生大量String对象,影响GC的效率,但是jdk1.5之后做了优化,使用+操作符不一定会产生大量String对象,而是自动优化为StringBuilder方式.如果是在一个for循环中进行String拼接,还是不建议使用+操作,因为会大量产生new StringBuilder()对象

【Java】String,StringBuffer与StringBuilder的区别??

String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全) 简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经常改变内容的字符串最好不要用 String ,因为每次生成对象都会对系统性能产生影响,特别当内存中无引用对象多了以

Java中的StringBuffer

Java中的StringBuffer /** * */ package com.you.model; /** * @author YouHaidong * */ public class StrFoo { /** * @param args */ public static void main(String[] args) { StringBuffer a = new StringBuffer("A"); StringBuffer b = new StringBuffer("

6-探秘Java中的String、StringBuilder以及StringBuffer

相信String这个类是Java中使用得最频繁的类之一,并且又是各大公司面试喜欢问到的地方,今天就来和大家一起学习一下String.StringBuilder和StringBuffer这几个类,分析它们的异同点以及了解各个类适用的场景.下面是本文的目录大纲: 一.你了解String类吗? 二.深入理解String.StringBuffer.StringBuilder 三.不同场景下三个类的性能测试 四.常见的关于String.StringBuffer的面试题(辟谣网上流传的一些曲解String类

【转】探秘Java中的String、StringBuilder以及StringBuffer

探秘Java中String.StringBuilder以及StringBuffer 相信String这个类是Java中使用得最频繁的类之一,并且又是各大公司面试喜欢问到的地方,今天就来和大家一起学习一下String.StringBuilder和StringBuffer这几个类,分析它们的异同点以及了解各个类适用的场景.下面是本文的目录大纲: 一.你了解String类吗? 二.深入理解String.StringBuffer.StringBuilder 三.不同场景下三个类的性能测试 四.常见的关于

探秘Java中的String、StringBuilder以及StringBuffer(转载)

探秘Java中String.StringBuilder以及StringBuffer 相信String这个类是Java中使用得最频繁的类之一,并且又是各大公司面试喜欢问到的地方,今天就来和大家一起学习一下String.StringBuilder和StringBuffer这几个类,分析它们的异同点以及了解各个类适用的场景.下面是本文的目录大纲: 一.你了解String类吗? 二.深入理解String.StringBuffer.StringBuilder 三.不同场景下三个类的性能测试 四.常见的关于

探秘Java中的String、StringBuilder以及StringBuffer

探秘Java中String.StringBuilder以及StringBuffer 相信String这个类是Java中使用得最频繁的类之一,并且又是各大公司面试喜欢问到的地方,今天就来和大家一起学习一下String.StringBuilder和StringBuffer这几个类,分析它们的异同点以及了解各个类适用的场景.下面是本文的目录大纲: 一.你了解String类吗? 二.深入理解String.StringBuffer.StringBuilder 三.不同场景下三个类的性能测试 四.常见的关于