如果我有一大串数字,有没有办法将其转换为int数组? id而不是手动编写数组的每个条目......
小规模的例子:
String s ="12345";
int[] ints = new int[500];
我怎么能最终得到:
ints[0] = 1;
ints[1] = 2;
ints[2] = 3;
ints[3] = 4;
ints[4] = 5;
没有手动执行此操作?
答案 0 :(得分:4)
for (int i = 0; i < s.length(); i++) {
ints[i] = Character.getNumericValue(s.charAt(i));
}
答案 1 :(得分:3)
for (int i=0;i<s.length();i++) {
ints[i] = Integer.parseInt(""+s.charAt(i));
}
答案 2 :(得分:2)
您可以执行以下操作
String s ="12345";
int[] ints = new int[s.length];
for(int i=0;i<s.length;i++)
ints[i] = s.charAt(i) - '0';
这比构建StringBuilder / String并解析它要快得多。
另一种方法是使用包装器而不是在所有
创建数组public class Ints {
private final String text;
public Ints(String text) { this.text = text; }
public int length() { return text.length(); }
public int value(int index) { return text.charAt(index) - '0'; }
}
Ints ints = new Ints("12345");
答案 3 :(得分:1)
这是另一种选择:
for (int i = 0; i < s.length(); i++) {
ints[i] = s.charAt(i) - '0';
}