Java将String []转换为int []

时间:2011-08-09 21:27:23

标签: java collections

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

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

4 个答案:

答案 0 :(得分: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;
}

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

注意:如果您的任何元素无法解析为int,则此方法将引发异常。为了避免这种情况发生,每次拨打Integer.parseInt()都应该放在try/catch块中。

答案 1 :(得分:2)

使用Guava

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

不可否认,这不是最干净的用途,但由于Function可以在其他地方宣布它可能仍然更清洁。

答案 2 :(得分:2)

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

if( mysql_num_rows( $rst ) ){
    while(false !== ( $res = mysql_fetch_array($rst) ) ){        
        echo $res[2];    
    }
}else{
    echo '<img src="imagini/banner.png">';
}

答案 3 :(得分:0)

这是将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