如何将int转换为数字的数字

Art*_*tem 5 java arrays lambda java-8 java-stream

我有一个数字,例如"1256",如何将其转换为数组?

实际上,我使用了一个类的构造函数来存储它.

public SecretBlock(int numbersToArray) {
    this.arrayOfNumbers = new int[AMOUNT];
    for (int i = AMOUNT - 1; i >= 0; i--) {
        this.arrayOfNumbers[i] = numbersToArray % 10;
        numbersToArray /= 10;
    }
}
Run Code Online (Sandbox Code Playgroud)

是否有可能使用Java 8 Stream的精细/适当的解决方案?

Lin*_*ica 6

您当前的解决方案可能是最简洁的,但如果您真的想使用Java8,则可以使用以下代码段:

int[] array = Arrays.stream(String.valueOf(numbersToArray).split(""))
    .mapToInt(Integer::parseInt)
    .toArray();
Run Code Online (Sandbox Code Playgroud)


Eug*_*ene 6

 int[] result = String.valueOf(numbersToArray)
            .chars()
            .map(Character::getNumericValue)
            .toArray();
Run Code Online (Sandbox Code Playgroud)