【Java】数组转字符串,字符串转数组

技术博客 (167) 2023-09-16 16:54:01

目录

字符串转数组

数组转字符串

模拟实现数组转字符串


字符串转数组

使用Java split() 方法

split() 方法根据匹配给定的正则表达式来拆分字符串。

注意: . 、 | 和 * 等转义字符,必须得加 \。多个分隔符,可以用 | 作为连字符。

// 字符串转数组  java.lang.String
 
String str = "0,1,2,3,4,5";
 
String[] arr = str.split(","); // 用,分割
 
System.out.println(Arrays.toString(arr)); // [0, 1, 2, 3, 4, 5]

数组转字符串

方法:1:遍历

String[] arr = { "0", "1", "2", "3", "4", "5" };
 
// 遍历
 
StringBuffer str5 = new StringBuffer();
 
for (String s : arr) {
 
    str5.append(s);
 
}
 
System.out.println(str5.toString()); // 012345

方法2:使用StringUtils的join方法

//数组转字符串 org.apache.commons.lang3.StringUtils
 
String str3 = StringUtils.join(arr); // 数组转字符串,其实使用的也是遍历
 
System.out.println(str3); // 012345
 
String str4 = StringUtils.join(arr, ","); // 数组转字符串(逗号分隔)(推荐)
 
System.out.println(str4); // 0,1,2,3,4,5

方法3:使用ArrayUtils的toString方法

// 数组转字符串 org.apache.commons.lang3.ArrayUtils
 
String str2 = ArrayUtils.toString(arr, ","); // 数组转字符串(逗号分隔,首尾加大括号)
 
System.out.println(str2); // {0,1,2,3,4,5}

模拟实现数组转字符串

这段代码是使用字符串拼接来完成功能的。先从左边的 [ 开始,再拼元素逗号,最后在拼 ]

Java的判断是否为空是直接判断等不等于null,而不是使用assert断言。

public static String MyTostring(int[] array) {
    //判断数组是否是null
    if (null == array) {
        return null;
    }
    String ch = "[";//存储左边的括号
    for (int i = 0; i < array.length; i++) {
         ch += array[i];//将下标为i的元素拼接到ch里
         //判断是不是最后一个元素 - 最后一个元素后面没有逗号。
         if (i != array.length - 1 ) {//不是最后一个元素就加上一个逗号
             ch += ",";
         }
    }
    //数组遍历完毕 - 逗号也添加完毕 - 只差右边的括号了
    ch += "]";
    return ch;
}

public static void main(String[] args) {
    int[] array = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
    String ret = MyTostring(array);
    System.out.println(ret);
}

【Java】数组转字符串,字符串转数组 (https://mushiming.com/) 技术博客 第1张

THE END

发表回复