📅  最后修改于: 2023-12-03 14:51:17.332000             🧑  作者: Mango
在Java中,我们经常需要将一个int类型的数字转换成数组。这可以通过以下几种方式实现。
可以使用循环来将一个int类型的数字转为数组:
int num = 123456;
int[] digits = new int[String.valueOf(num).length()];
for (int i = digits.length - 1; i >= 0; i--) {
digits[i] = num % 10;
num /= 10;
}
这段代码将数字123456转换为一个包含六个元素的数组。在循环中,我们通过数字模10来获取最后一位,并使用整数除法将数字减少一位。最后我们将数字的每一位存储到数组中。
Java 8引入了一个IntStream类,可以方便地将int类型的数字转换为数组:
int num = 123456;
int[] digits = String.valueOf(num).chars().map(Character::getNumericValue).toArray();
这段代码实际上使用了Java 8的流水线操作。我们首先将数字转换为字符串,使用chars()将字符串转换为IntStream,使用map()将每个字符转换为数字,最后使用toArray()将IntStream转换为int[]数组。
Apache Commons Lang库中的ArrayUtils类提供了将int类型的数字转换为数组的方法:
int num = 123456;
int[] digits = ArrayUtils.toObject(String.valueOf(num).toCharArray());
这段代码首先使用String.valueOf()将数字转换为字符串,使用toCharArray()将字符串转换为字符数组,最后将字符数组转换为int[]数组。
无论使用哪种方法,我们都可以将int类型的数字转换为数组。如果我们需要将数组转换回int类型的数字,也可以轻松地使用Java 8的IntStream或Apache Commons Lang库中的ArrayUtils进行转换。