我想在Java中将带有整数的字符串转换为带整数的数组。 我怎么能这样做?我有一个带有strings的数组。每个字符串都是整数。 我想通过点击按钮来访问每个字符串。
String[] INT_ARRAY={
//0
"250,125,20,20,20,40,20,20,20,40,20,20,20,2500",
//1
"233,63,28,63,29,63,28,16,28,17,26,63,29,17,26,16....
........
}
public void onClick(View v) {
counter++;
String IntString = INT_ARRAY[counter];
String[] parts = IntString.split(",");
final int[] A = new int[parts.length()];
for(int i=0; i<parts.length(); i++){
A[i] = Integer.parseInt(parts(i));
Toast.makeText(getApplicationContext(),String.valueOf(A[i]), Toast.LENGTH_SHORT).show();
}
}
答案 0 :(得分:3)
您需要String#spilt()
来分割字符串,例如:
String[] parts = "aa,bb,cc,dd".split(",");
parts
现在由{"aa", "bb", "cc", "dd"}
组成。
然后使用enhanced-for循环迭代每个部分,例如:
for(String part : parts) Log.d("", part);
答案 1 :(得分:3)
所以你有一个部分序列化的表示形式的整数数组。从您的代码中,您显然明白需要使用parseInt()
将整数的字符串表示形式转换为int
原语。这部分看起来不错,但是你需要逻辑来遍历每个字符串中每个以逗号分隔的值。您可以使用split()
方法从逗号分隔列表中创建字符串数组。整个解决方案如下所示:
public void onClick(View v) {
counter++;
String IntString = INT_ARRAY[counter];
final String[] vals = IntString.split(","); // Here we split the comma-separated string
final int[] A = new int[vals.length];
for(int i=0; i<vals.length; i++){
A[i] = Integer.parseInt(vals[i]);
Toast.makeText(getApplicationContext(),String.valueOf(A[i]), Toast.LENGTH_SHORT).show();
}
}
答案 2 :(得分:2)
private Integer[] splitIntegers(String s){
Object[] numbersAsString = s.split(",");
return Arrays.copyOf(numbersAsString, numbersAsString.length, Integer[].class);
}
通话:
for(String s: INT_ARRAY){
Integer[] ints = splitIntegers(s);
}