Java将String[]转换为int[]

qzlgjiam  于 2023-05-05  发布在  Java
关注(0)|答案(5)|浏览(172)

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

int[] StringArrayToIntArray(String[] s)
{
    ... ? ...
}
brjng4g3

brjng4g31#

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;
}

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

  • 注意:* 如果你的任何元素不能解析为int,这个方法将抛出一个异常。为了防止这种情况发生,对Integer.parseInt()的每个调用都应该放在try/catch块中。
cgvd09ve

cgvd09ve2#

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

int[] StringArrayToIntArray(String[] stringArray)
{
    return Stream.of(stringArray).mapToInt(Integer::parseInt).toArray();
}
6ojccjat

6ojccjat3#

Guava

return Ints.toArray(Collections2.transform(Arrays.asList(s), new Function<String, Integer>() {
    public Integer apply(String input) {
        return Integer.valueOf(input);
    }
});

诚然,这不是最干净的使用,但由于Function可以在其他地方声明,它可能仍然更干净。

v9tzhpje

v9tzhpje4#

这是一种将String转换为Int的简单方法。

String str = "15";
    int i;
    
    i = Integer.parseInt(str);

下面是一个例子,你可以用一个用户的输入做一些数学运算:

int i;
    String input;
    i = Integer.parseInt(str);
    input = JOptionPane.showMessageDialog(null, "Give me a number, and I'll multiply with 2");
    JOptionPane.showMessageDialog(null, "The number is: " + i * 2);

输出:
弹出:一个带有输入框的对话框,内容为:给予我一个数字,我会把它乘以2。
弹出:号码是:inputNumber * 2

odopli94

odopli945#

在java 8中将String[]转换为Integer[]:

Integer[] myArray = Stream.of(new String[] { "1", "2", "3" })
        .map(Integer::parseInt)
        .toArray(Integer[]::new);

相关问题