1.天真
天真的解决方案是创建一个String
类型数组,并在将int转换为Strings后,使用常规的for循环从原始整数数组为其分配值。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
import java.util.Arrays;
class Main
{
// Program to convert int array to String array in Java
public static void main(String[] args)
{
// input primitive integer array
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]);
System.out.println(Arrays.toString(strArray));
}
}
|
输出:
[1、2、3、4、5]
2. Java 8
另一个解决方案是使用Java 8 Stream API将int
数组转换为String
数组–
- 将指定的原始数组转换为
IntStream
usingArrays.stream()
或IntStream.of()
method。
- 将Stream的每个元素转换为
String
usingIntStream.mapToObj()
函数。
- 使用返回一个
String
包含此流元素的数组Stream.toArray()
。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
import java.util.Arrays;
class Main
{
// Program to convert int array to String array in Java 8 and above
public static void main (String[] args)
{
// input primitive integer array
int[] intArray = { 1, 2, 3, 4, 5 };
String strArray[] = Arrays.stream(intArray)
.mapToObj(String::valueOf)
.toArray(String[]::new);
System.out.println(Arrays.toString(strArray));
}
}
|
输出:
[1、2、3、4、5]
3.使用正则表达式
不推荐这种方法。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
import java.util.Arrays;
class Main
{
// Program to convert int array to String array in Java
public static void main(String[] args)
{
int[] intArray = { 1, 2, 3, 4 ,5 };
String str = Arrays.toString(intArray) // [1, 2, 3, 4, 5]
.replaceAll("\\s+", ""); // [1,2,3,4,5]
String strArray[] = str.substring(1, str.length() - 1) // 1,2,3,4,5
.split(",");
System.out.println(Arrays.toString(strArray));
}
}
|
输出:
[1、2、3、4、5]