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