• Java数组拼接字符串几个写法性能比较(转载)


    将数组 int[] arr = {0,1,2,3,4,5,6,7,8,9} 拼接成 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 字符串:

    StringBuilder sb = new StringBuilder(arr.length*3); // StringBuilder(arr.length*3)性能比StringBuilder()高
    sb.append("[");
     
    // 写法1
    for( int i = 0, len = arr.length; i < len; i++)
    {
       if( i > 0 ){
          sb.append(", ");
       }
     
       sb.append(arr[i]);
    }
    return sb.append("]").toString();
     
     
    // 写法二
    int iMax = arr.length - 1;
    for(int i = 0; ; i++){
       sb.append(arr[i]);
       if( i == iMax ){
          return sb.append("]").toString();
       }
       sb.append(", ");
    }
     
     
    // 写法三
    int offset = arr.length - 1;
    for( int i = 0; i < offset; i++ )
    {
        sb.append(arr[i]).append(", ");
    }
    sb.append(arr[offset]).append("]");
     
    return sb.toString();

    性能效率: 写法3 > 写法2 > 写法1

    写法3效率之所以高,是因为在 for 循环中去掉了 if 条件判断。

  • 相关阅读:
    VSCode
    git CAPTCHA required
    css :active
    节流 防抖
    判断数据类型
    http协议的三次握手和四次挥手
    http协议
    发布网站相关信息
    获取任意两个数之间多个随机数的方法;
    数组中的12个方法;
  • 原文地址:https://www.cnblogs.com/canceler/p/4613272.html
Copyright © 2020-2023  润新知