445-JavaSE进阶StringBuffer进行字符串拼接

代码示例:
package com.bjpowernode.javase1.stringbuffer1;

/**
 * 如果以后需要进行大量字符串的拼接操作,建议使用JDK中自带的:
 *      java.lang.StringBuffer
 *      java.lang.StringBuilder
 *
 * 如何优化StringBuffer的性能?
 *      在创建StringBuffer的时候尽可能给定一个初始化容量。
 *      //默认是16,给定一个容量是方便不进行扩容
 *      最好减少底层数组的扩容次数。预估计一下,给一个大一些初始化容量。
 *      //发现越少的扩容,越能优化StringBuffer的性能
 *      关键点:给一个合适的初始化容量。可以提高程序的执行效率。
 *      //还是给定一个合适的初始化容量
 */

//如何优化StringBuffer的性能?
	//总结一下就是给一个合适的初始化容量,减少扩容的次数,可以提高StringBuffer的性能

/* // StringBuffer 适用于 字符串拼接,并且自带初始容量为16个字符,
*  // append方法底层在进行追加的时候,如果byte数组满了,会自动扩容 */

public class StringBufferTest02 {
    public static void main(String[] args) {

        // 创建一个初始化容量为16个byte[] 数组。(字符串缓冲区对象)
        StringBuffer stringBuffer = new StringBuffer();

        // 拼接字符串,以后拼接字符串统一调用 append()方法。
        // append是追加的意思
        stringBuffer.append("a");
        stringBuffer.append("b");
        stringBuffer.append("c");
        stringBuffer.append(3.14);
        stringBuffer.append(true);
        // append方法底层在进行追加的时候,如果byte数组满了,会自动扩容
        stringBuffer.append(100L);

        System.out.println(stringBuffer.toString());

        StringBuffer qwe = new StringBuffer("100");
        qwe.append("hello");
        qwe.append("world");
        qwe.append("hello");
        qwe.append("kitty");

        System.out.println(qwe);
    }
}

输出:

abc3.14true100
100helloworldhellokitty

进程已结束,退出代码 0
posted @ 2020-10-18 16:21  nkndlawn  阅读(179)  评论(0)    收藏  举报