拆分整数数组

时间:2011-06-13 02:59:45

标签: java

我有这个小问题,因为它生成java.util.NoSuchElementException我不能将这个对象数组转换为Vector,我无法找到似乎是什么问题。任何人都可以指出哪里似乎是错误,请在这里是代码,

import java.util.Collections;
import java.util.Vector;


public class Splitting {

    /**
     * @param args
     */

    protected int [] temp;
    Vector<Integer> vec = new Vector<Integer>();

    public void split(String input)
    {
        if (input == null)
        {
        String[] str;
        str = input.split(",");
        temp = new int[str.length];

        System.out.println(str);

            for (int i = 0; i < str.length; i++)
            {

                temp[i] = Integer.parseInt(str[i]);
                vec.add(temp[i]);

            }
        }
        System.out.println(vec);
        Collections.sort(vec);


        System.out.println(vec);
        Collections.max(vec);
    }



    public static void main(String[] args) {
        // TODO Auto-generated method stub

        Splitting obj = new Splitting();

        obj.split("12,65,21,23,89,67,12");



    }

}

4 个答案:

答案 0 :(得分:3)

可能应该是

if (input != null)

您可以使用以下代码段将数组转换为vector:

vec = new Vector(Arrays.asList(str));

可能在你的情况下它不起作用(因为你需要将字符串解析为整数)但是将来很高兴知道。 感谢

答案 1 :(得分:2)

你有

if (input == null)

你的意思是

if (input != null)

答案 2 :(得分:2)

可能if (input == null)应该是if (input != null)

答案 3 :(得分:0)

使用Guava

String input = "Some very stupid data with ids of invoces like 121432, 3436534 and 8989898 inside";
List<String> l =Lists.newArrayList(Splitter.on(" ").split(input));
Collection<Integer> c = Collections2.transform(l, new Function<String, Integer>(){
    @Override
    public Integer apply(String s) {
        return Integer.parseInt(s);
    }});
List<Integer> l2 = Lists.newArrayList(c);

Collections.sort(l2);
Collections.max(l2);