我有这个小问题,因为它生成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");
}
}
答案 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);