Java 数组转成 String 数组
在 Java 中,将一个数组转换为 String 数组有几种常见的方法,具体取决于原始数组的类型,以下是几种常见情况的解决方案:

基本类型数组转 String 数组
int[] 转 String[]
int[] intArray = {1, 2, 3, 4, 5};
String[] strArray = new String[intArray.length];
for (int i = 0; i < intArray.length; i++) {
strArray[i] = String.valueOf(intArray[i]);
}
其他基本类型类似
// double[] 转 String[]
double[] doubleArray = {1.1, 2.2, 3.3};
String[] strArray = new String[doubleArray.length];
for (int i = 0; i < doubleArray.length; i++) {
strArray[i] = String.valueOf(doubleArray[i]);
}
// char[] 转 String[]
char[] charArray = {'a', 'b', 'c'};
String[] strArray = new String[charArray.length];
for (int i = 0; i < charArray.length; i++) {
strArray[i] = String.valueOf(charArray[i]);
}
对象数组转 String 数组
如果原始数组已经是对象数组(如 Integer[]、Double[] 等),可以直接转换:
Integer[] integerArray = {1, 2, 3, 4, 5};
String[] strArray = new String[integerArray.length];
for (int i = 0; i < integerArray.length; i++) {
strArray[i] = String.valueOf(integerArray[i]);
}
使用 Java 8 Stream API (Java 8+)
int[] intArray = {1, 2, 3, 4, 5};
String[] strArray = Arrays.stream(intArray)
.mapToObj(String::valueOf)
.toArray(String[]::new);
使用 Arrays.toString() 方法(注意:这会得到一个包含数组表示的字符串,而不是字符串数组)
int[] intArray = {1, 2, 3, 4, 5};
String arrayString = Arrays.toString(intArray); // 结果: "[1, 2, 3, 4, 5]"
// 这不是字符串数组,而是单个字符串
多维数组转 String 数组
对于多维数组,需要嵌套处理:
int[][] multiArray = {{1, 2}, {3, 4}, {5, 6}};
String[][] strMultiArray = new String[multiArray.length][];
for (int i = 0; i < multiArray.length; i++) {
strMultiArray[i] = new String[multiArray[i].length];
for (int j = 0; j < multiArray[i].length; j++) {
strMultiArray[i][j] = String.valueOf(multiArray[i][j]);
}
}
- 对于基本类型数组,需要遍历每个元素并使用
String.valueOf()转换 - 对于对象数组,可以直接遍历并转换
- Java 8+ 可以使用 Stream API 更简洁地实现
Arrays.toString()不会返回字符串数组,而是返回数组的字符串表示
选择哪种方法取决于你的具体需求、Java 版本和原始数组的类型。

