我有一个数字,例如“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;
}
}
是否有可能使用Java 8 Stream的精细/适当的解决方案?
答案 0 :(得分:6)
您当前的解决方案可能是最简洁的,但如果真的想要使用Java8,您可以使用以下代码段:
int[] array = Arrays.stream(String.valueOf(numbersToArray).split(""))
.mapToInt(Integer::parseInt)
.toArray();
答案 1 :(得分:6)
int[] result = String.valueOf(numbersToArray)
.chars()
.map(Character::getNumericValue)
.toArray();
答案 2 :(得分:3)
使用java-8可以做到:
Pattern.compile("")
.splitAsStream(String.valueOf(numbersToArray))
.mapToInt(Integer::parseInt)
.toArray();