您的位置:首页 > 产品设计 > UI/UE

String,StringBuilder,StringBuffer效率比较

2016-07-09 17:33 441 查看


String,StringBuilder,StringBuffer效率比较

package com.menggang.testjava;

public class AppendCharacter {

    public static void main(String[] args) {

        /**

         * String

         */

        String appendStr = "";// 创建字符串变量

        long startTime = System.nanoTime();// 开始记事

        for (int i = 20000; i < 50000; i++) {// 遍历30000个字符

            appendStr += (char) i;// 字符串与每个字符执行连接操作

        }

        long endTime = System.nanoTime();// 结束计时

        System.out.println("String追加字符3万个。");

        // 输出用时

        System.out.println("String用时:" + (endTime - startTime) / 1000000d + "毫秒");

        System.out.println("###################################");
        /**

         * StringBuilder

         */

        StringBuilder strBuilder = new StringBuilder();// 创建字符串构建器

        startTime = System.nanoTime();// 开始计时

        for (int i = 20000; i < 50000; i++) {// 遍历30000个字符

            strBuilder.append((char) i);// 把每个字符追加到构建器

        }

        endTime = System.nanoTime();// 结束记事

        System.out.println("字符串构建器追加字符3万个。");

        // 输出用时

        System.out.println("StringBuilder用时:" + (endTime - startTime) / 1000000d + "毫秒");

        System.out.println("############################################");

        /**

         * StringBuffer

         */

        StringBuffer strBuffer = new StringBuffer();// 创建字符串构建器

        startTime = System.nanoTime();// 开始计时

        for (int i = 20000; i < 50000; i++) {// 遍历30000个字符

            strBuffer.append((char) i);// 把每个字符追加到构建器

        }

        endTime = System.nanoTime();// 结束记事

        System.out.println("字符串构建器追加字符3万个。");

        // 输出用时

        System.out.print("StringBuffer用时:" + (endTime - startTime) / 1000000d + "毫秒");

    }

}

输出结果为:

String追加字符3万个。

String用时:387.997356毫秒

###################################

字符串构建器追加字符3万个。

StringBuilder用时:1.427821毫秒

############################################

字符串构建器追加字符3万个。

StringBuffer用时:2.395849毫秒
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: