关于java数组与字符串相互转换的问题

  

关于Java数组与字符串相互转换的问题,以下是完整攻略:

将数组转换为字符串

  1. 使用Arrays类的toString()方法

可以使用Arrays类的toString()方法将数组转换为字符串。这个方法将数组转换为字符串,并且用逗号和空格分隔每个元素。

示例代码如下:

int[] arr = {1, 2, 3, 4, 5};
String str = Arrays.toString(arr);
System.out.println(str);

输出结果为:

[1, 2, 3, 4, 5]
  1. 使用StringJoiner类

可以使用StringJoiner类来将数组转换为字符串,并且可以通过指定分隔符来自定义字符串的格式。

示例代码如下:

int[] arr = {1, 2, 3, 4, 5};
StringJoiner sj = new StringJoiner(", ", "[", "]");
for (int i : arr) {
    sj.add(String.valueOf(i));
}
String str = sj.toString();
System.out.println(str);

输出结果为:

[1, 2, 3, 4, 5]

将字符串转换为数组

  1. 使用String类的split()方法

可以使用String类的split()方法将字符串转换为数组。这个方法将字符串按照指定的分隔符分割成字符串数组。

示例代码如下:

String str = "1,2,3,4,5";
String[] arr = str.split(",");
System.out.println(Arrays.toString(arr));

输出结果为:

[1, 2, 3, 4, 5]
  1. 使用正则表达式

可以使用正则表达式来将字符串转换为数组。使用Pattern和Matcher类来匹配字符串,并且将匹配到的字符串添加到数组中。

示例代码如下:

String str = "1,2,3,4,5";
Pattern pattern = Pattern.compile("\\d+");
Matcher matcher = pattern.matcher(str);
List<Integer> list = new ArrayList<>();
while (matcher.find()) {
    list.add(Integer.parseInt(matcher.group()));
}
Integer[] arr = list.toArray(new Integer[0]);
System.out.println(Arrays.toString(arr));

输出结果为:

[1, 2, 3, 4, 5]

以上是Java数组与字符串相互转换的完整攻略,希望可以对你有所帮助。

相关文章