如何在不使用循环的情况下用Java将String数组转换为int数组

时间:2018-07-30 18:54:24

标签: java arrays string type-conversion

我有一个String数组,可以使用扫描仪从数据文件中读取这些数字:

6 10 13 14 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185

我从文件中取出一行,并将其转换为String数组。有没有一种简单的方法可以将String数组转换为没有for循环的int数组?

String indices = input.nextLine();
String[] clean = indices.split("\\s+");

1 个答案:

答案 0 :(得分:1)

没有forloop可能涉及Streams和映射:

String indices = input.nextLine();
int[] array = Arrays.stream(indices.split("\\s+")).mapToInt(Integer::parseInt).toArray();
System.out.println(Arrays.toString(array));
// [6, 10, 13, 14, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185]