当前位置:首页 > 芯闻号 > 充电吧
[导读]字符串拼接是个常用的功能,经常性使用String做字符串拼接,当拼接次数多的时候,使用String方法会消耗大量的性能和时间,因为每次String拼接时都会建立一个新的对象,随着拼接次数的增多,性能消

字符串拼接是个常用的功能,经常性使用String做字符串拼接,当拼接次数多的时候,使用String方法会消耗大量的性能和时间,因为每次String拼接时都会建立一个新的对象,随着拼接次数的增多,性能消耗、时间消耗会大量增加,这个时候应该使用StringBuilder方法。

public static void main(String[] args) {
        try {
            int count = 500;

            long begin = System.currentTimeMillis();
            testString(count);
            long end = System.currentTimeMillis();
            long time = end - begin;
            System.out.println("String 方法拼接"+count+"次消耗时间:" + time + "毫秒");

            begin = System.currentTimeMillis();
            testStringBuilder(count);
            end = System.currentTimeMillis();
            time = end - begin;
            System.out.println("StringBuilder 方法拼接"+count+"次消耗时间:" + time + "毫秒");

        } catch (Exception e) {
            e.printStackTrace();
        }

    }

    private static String testString(int count) {
        String result = "";

        for (int i = 0; i < count; i++) {
            result += "hello ";
        }

        return result;
    }

    private static String testStringBuilder(int count) {
        StringBuilder sb = new StringBuilder();

        for (int i = 0; i < count; i++) {
            sb.append("hello");
        }

        return sb.toString();
    }

运行结果:

String 方法拼接500次消耗时间:2毫秒
StringBuilder 方法拼接500次消耗时间:0毫秒
String 方法拼接50000次消耗时间:4973毫秒
StringBuilder 方法拼接50000次消耗时间:3毫秒

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭