Java中将int数组转换为String数组
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]
还没有评论,来说两句吧...