我想从 StringTokenizer 中创建数字数组。
如果有文本行
“2345”
我想获取数组列表 [2,3,4,5] 。所以首先,
我制作了 Arraylist 并使用 hasMoreToken 从 st token 中获取
ArrayList argument_list = new ArrayList();
while(st.hasMoreTokens()){
argument_list.add(Integer.valueOf(st.nextToken()));
}
int[] arguments = new int[argument_list.size()];
现在我注意到我的argument_list将整个字符串获取到数字“2345”而不是“2”,“3”,“4”,“5” 因为没有像“,”这样的“分割词”
也许我可以使用“/”来除数 但我认为有一种方法可以分割字符串并获取数字数组,即使我不知道
有没有办法将 token 拆分为数组?
最佳答案
另一种方法是使用String#toCharArray
,并使用生成的char[]
List<Integer> ints = new ArrayList<Integer>();
char[] chars = "2345".toCharArray();
for (char c : chars) {
ints.add(Integer.parseInt(String.valueOf(c)));
}
您还可以在循环声明中转换为 char 数组,从而不再需要 chars
变量
List<Integer> ints = new ArrayList<Integer>();
for (char c : "2345".toCharArray()) {
ints.add(Integer.parseInt(String.valueOf(c)));
}
关于java - 我如何从字符串中获取int数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27665771/