如何将字符串拆分为整数数组?

时间:2017-09-14 04:50:29

标签: java

如何在不使用循环的情况下将字符串拆分为整数数组?

例如:
如果我有一个字符串"12345",我想在不使用循环的情况下转换为int数组[1,2,3,4,5]。我知道如何这样做。是否有java提供的内置函数可以拆分并转换为所需的数据类型?

3 个答案:

答案 0 :(得分:2)

如果是Java 8,您可以使用 Stream

  

"支持顺序和并行聚合的一系列元素   操作"

观察:

import java.util.Arrays;
import java.util.stream.Stream;

class Main {
  public static void main(String[] args) {
    String numbersString = "12345";

    int[] numbersIntArray = Stream.of(numbersString.split("")).mapToInt(Integer::parseInt).toArray(); 

    System.out.println(Arrays.toString(numbersIntArray)); // [1, 2, 3, 4, 5]
  }
}

答案 1 :(得分:0)

Java 8您也可以使用Arrays util。

String string = "12345";
int[] ints= Arrays.asList(string.split("")).stream().mapToInt(Integer::parseInt).toArray();
System.out.println(Arrays.toString(ints));;

答案 2 :(得分:0)

您可以使用递归。

public class Test {

    static List<Integer> integerArray = new ArrayList<Integer>();
    static int strLength;
    static String s;

    public static void main(String[] args) {

        s = "12345";
        strLength = s.length();

        recursiveMe(0);

        System.out.println(integerArray.toString());
    }

    public static void recursiveMe(int n) {
        if (n < strLength) {
            integerArray.add(n, Integer.parseInt(String.valueOf(s.charAt(n))));
            recursiveMe(n + 1);
        }
    }

}