Java中数组与字符串之间的转换方法(一)

来源:互联网 发布:mac 视频截取gif 编辑:程序博客网 时间:2024/06/02 19:57

Java中数组与字符串之间的转换方法(一)


Array2String

  • a) 数组遍历,将没一个数组元素与字符串拼接
//数组遍历,将没一个Array元素与String拼接public class Array2String {    public static void main(String[] args) {        int[] arr = {1,2,3};        String s = demomethod1(arr);        String s1 = demomethod2(arr);        System.out.println(s);        System.out.println(s1);    }    /** #1 Method      * 定义一个String对象,遍历Array中元素,依次用 “+” 号运算符与其拼接,最终返回一个[ , , ]形式的String     * 任意数据类型变量用 “+” 号运算符与String运算,都会返回一个新的String     * 缺点:用 “+” 号运算符与String运算,每运算一次都创建一个新的String,之前的都会变成垃圾,浪费内存     */    public static String demomethod1(int[] arr) {            String s = "[";                         for (int i = 0; i < arr.length; i++) {                if (i == arr.length-1) {                    s = s + arr[i] + "]";                                       }else                    s = s + arr[i] + ", ";            }            return s.toString();        }    /** #2 Method     * 创建一个StringBuffer对象,利用StringBuffer中的append()方法拼接,然后转换成String并返回     * 优点:用方法2只创建一个StringBuffer对象就可以了     */    public static String demomethod2(int[] arr) {        StringBuffer sb = new StringBuffer();        sb.append("[");        for (int i = 0; i < arr.length; i++) {            if (i == arr.length-1) {                sb = sb.append(arr[i]).append("]");            }else {                sb = sb.append(arr[i]).append(", ");            }        }        return sb.toString();    }}
  • b)利用Java.util.Arrays类下override Object类的toString方法

public static String toString(int[] a)

其底层方法其实就是利用StringBuffer实现的

    // # 源码         public static String toString(long[] 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(", ");        }    } ```
    // # 示例    int[] arr = {1,2,3};    System.out.println(Arrays.toString(arr));
    // # 以上方法输出结果均为    [1, 2, 3]
原创粉丝点击