数组转换成字符串

来源:互联网 发布:软件开发控制流程图 编辑:程序博客网 时间:2024/04/29 23:22

数组转换成字符串在写代码的时候经常遇到,比如拼接SQL等,经常需要把数组中的元素拿出来按照某种规则拼接。

例如:要将数组int[] array = { 123456789 ... N};  变成 123456789...N

最普遍的写法就是在for循环中判断是否是最后一个元素。

StringBuilder buffer = new StringBuilder(N);for (int i = 0; i < N; i++) {      buffer.append(arr[i]);      if (i < N - 1) {          buffer.append(arr[i]);      }  }  

这种写法最大的问题就是要判断N次是否是最后一个元素, 一种改进的方法不做if判断

StringBuilder buffer = new StringBuilder(N);for (int i = 0; i < N-1; i++) {      buffer.append(arr[i]);      buffer.append(", ");  }  buffer.append(arr[N-1]);  

对比第一种方法 显然减少了N次判断


看看JAVA中源码是怎么处理的

java.util.Arrays

 public static String toString(int[] a) {        if (a == null)            return "null";        int iMax = a.length - 1;        if (iMax == -1)            return "[]";        StringBuilder b = new StringBuilder();        b.append('[');        for (int i = 0;; i++) {            b.append(a[i]);            if (i == iMax)                return b.append(']').toString();            b.append(", ");        }    }

源码中和第一种写法类似。

建议采用第二种方法,性能会更好。

0 0
原创粉丝点击