Java将String []转换为int []

Jay*_*van 4 java collections

我有一个String [],其中每个元素都可以转换为整数.我可以将它转换为int []的最佳方法是什么?

int[] StringArrayToIntArray(String[] s)
{
    ... ? ...
}
Run Code Online (Sandbox Code Playgroud)

jjn*_*guy 11

public static int[] StringArrToIntArr(String[] s) {
   int[] result = new int[s.length];
   for (int i = 0; i < s.length; i++) {
      result[i] = Integer.parseInt(s[i]);
   }
   return result;
}
Run Code Online (Sandbox Code Playgroud)

只需遍历字符串数组并转换每个元素.

注意: 如果您的任何元素无法解析int为此方法将引发异常.为了防止这种情况发生,每次调用Integer.parseInt()应放在一个try/catch块中.

  • @Woot,提问者指定每个元素都可以转换为`int`,所以我故意省略它. (2认同)

Jay*_*van 8

现在 Java 终于赶上了函数式编程,有一个更好的答案:

int[] StringArrayToIntArray(String[] stringArray)
{
    return Stream.of(stringArray).mapToInt(Integer::parseInt).toArray();
}
Run Code Online (Sandbox Code Playgroud)