如何将数字逗号分隔的字符串转换为 int 数组

Pra*_*dav -2 java arrays string int

    //convert the comma separated numeric string into the  array of int. 
    public class HelloWorld
    {
      public static void main(String[] args)
      {
       // line is the input  which have the comma separated number
        String line = "1,2,3,1,2,2,1,2,3,";
       // 1 > split   
         String[] inputNumber =  line.split(",");
       // 1.1 > declare int array
         int number []= new int[10];
       // 2 > convert the String into  int  and save it in int array.
         for(int i=0; i<inputNumber.length;i++){
               number[i]=Integer.parseInt(inputNumber[i]);
         }
    }
}
Run Code Online (Sandbox Code Playgroud)

他们是否有更好的解决方案。请提出建议,否则这是唯一的最佳解决方案。

我这个问题的主要目的是找到最佳解决方案。

Mar*_*inS 6

Java 8 流提供了一个漂亮而干净的解决方案:

String line = "1,2,3,1,2,2,1,2,3,";
int[] numbers = Arrays.stream(line.split(",")).mapToInt(Integer::parseInt).toArray();
Run Code Online (Sandbox Code Playgroud)

编辑:既然你要求 Java 7 - 你所做的已经很不错了,我只更改了一个细节。您应该初始化数组,inputNumber.length以便在输入String更改时您的代码不会中断。

Edit2:我还稍微更改了命名以使代码更清晰。

String line = "1,2,3,1,2,2,1,2,3,";
String[] tokens = line.split(",");
int[] numbers = new int[tokens.length];
for (int i = 0; i < tokens.length; i++) {
    numbers[i] = Integer.parseInt(tokens[i]);
}
Run Code Online (Sandbox Code Playgroud)