1 .天真的解决方案是创建String数组并将int转换为Strings,然后使用常规for循环从原始整数数组赋值。
134567910112131415161718 import Java.util.arrays; class main//programtoconvertintarraytostringarrayinjavapublicstaticvoidmain (string [ ] args )//inputprimitiveiveinteger ster stral for(intI=0; i intArray.length; I ) strarray [ I ]=string.value of (intarray [ I ]; system.out.println (arrays.tostring ) strarray ); } } 输出:
[1、2、3、4、5]
2. Java 8的另一个解决方案是使用Java 8 Stream API将int数组转换为字符串数组
将指定的原始数组转换为IntStreamusingArrays.stream (或IntStream.of ) ) method。
将Stream中的每个元素转换为StringusingIntStream.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]