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数组–

  1. 将指定的原始数组转换为IntStreamusingArrays.stream()IntStream.of()method。
     
  2. 将Stream的每个元素转换为StringusingIntStream.mapToObj()函数。
     
  3. 使用返回一个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]

猜你喜欢

转载自blog.csdn.net/allway2/article/details/115270144