我得到了什么,这条指令给了我一个String[]
对象:
string.trim().split(" ");
使用Arrays.asList(string.trim().split(" "))
内容的内容如下:
[4, 3, 2, 5, -10, 23, 30, 40, -3, 30]
所以它的内容由数字组成。我希望将String[]
对象转换为int[]
对象。如果不将每个字符串解析为int,我该怎么做?
答案 0 :(得分:1)
您可以种类在没有循环的情况下执行此操作但只获得List<Integer>
而不是int[]
。
private static class IntegerAdapter extends AbstractList<Integer> implements List<Integer> {
private final List<String> theList;
public IntegerAdapter(List<String> strings) {
this.theList = strings;
}
public IntegerAdapter(String[] strings) {
this(Arrays.asList(strings));
}
@Override
public Integer get(int index) {
return Integer.parseInt(theList.get(index));
}
@Override
public int size() {
return theList.size();
}
}
public void test(String[] args) {
String test = "4 3 2 5 -10 23 30 40 -3 30";
String[] split = test.split(" ");
IntegerAdapter adapter = new IntegerAdapter(split);
// Look ma! No loops :)
System.out.println(adapter.get(4));
}