StringBuider

StringBuider

StringBuider工具探索

场景

在循环中拼接字符串一般有两种情况

  1. 循环将对象的几个字段拼接成一个新字段,在赋值给对象;

  2. 在循坏外创建一个字符串对象,每次循环向该字符串拼接新的内容,循坏结束后即可得到拼接好的字符串;
    (一):
    /**

    • 循环内 String 拼接字符串,一次循环后销毁
      */
      public static void useString(){
      for (int i = 0; i < CYCLE_NUM_BIGGER; i++) {
      String str = str1 + i + str2 + i + str3 + i + str4 ;
      }
      }

    /**

    • 循环内 使用 StringBuilder 拼接字符串,一次循环后销毁
      /
      public static void useStringBuilder(){
      for (int i = 0; i < CYCLE_NUM_BIGGER; i++) {
      StringBuilder sb = new StringBuilder();
      String s = sb.append(str1).append(i).append(str2).append(i).append(str3).append(i).append(str4).toString();
      }
      }
      (二):
      /
      *
    • 多次循环拼接成一个字符串 用 String
      */
      public static void useStringSpliceOneStr (){
      String str = “”;
      for (int i = 0; i < CYCLE_NUM_LOWER; i++) {
      str += str1 + str2 + str3 + str4 + i;
      }
      }

    /**

    • 多次循环拼接成一个字符串 用 StringBuilder
      */
      public static void useStringBuilderSpliceOneStr(){
      StringBuilder sb = new StringBuilder();
      for (int i = 0; i < CYCLE_NUM_LOWER; i++) {
      sb.append(str1).append(str2).append(str3).append(str4).append(i);
      }
      }

结论

在循环内使用String和StringBuilder的效率是差不多的。
(原因:编译器对String的优化就是StringBuilder)
在循坏外,String虽然经过了编译器优化,但是比在循坏外多了n次的new 对象,销毁对象的操作。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值