【发布时间】:2018-07-29 13:32:50
【问题描述】:
这里我使用了一个像checkedcontact1这样的StringBuilder,它存储了选定的电话号码。
StringBuilder checkedcontacts1 = new StringBuilder();
for (int i = 0; i < name1.size(); i++) // it displays selected contacts in strings
{
if (ma.mCheckStates.get(i) == true) {
checkedcontacts1.append((phno1.get(i).toString()));**//here we get the selected contacts in strings**
checkedcontacts1.append("\n");
System.out.println("checked contacts:" + "\t" + phno1.get(i).toString() + "\t" + "amount" + "\t" + result);
}
}
将字符串数组转换为整数数组
String[] arr=new String[100];
List<Integer> list = new ArrayList<>();
//System.out.println("values"+checkedcontacts);
arr=checkedcontacts1.toString().split("TABTABTABTABTABTAB");
Integer [] ldv = new Integer[arr.length];
for(int i = 0; i<arr.length;i++){
String numberAsString = arr[i];
ldv[i]=Integer.parseInt(numberAsString);//*here I am getting an exception as NumberFormatException*
}
for(int i : ldv) {
list.add(i);
}
得到类似的错误
** 致命例外:主要 流程:com.bodaty.deyaPay.deyaPay,PID:30346 java.lang.NumberFormatException:无效的int:“+91 72072 21721 +91 79 8105 5662 " 在 java.lang.Integer.invalidInt(Integer.java:138) 在 java.lang.Integer.parse(Integer.java:410)
【问题讨论】:
-
堆栈跟踪还说了什么?您要转换的价值是多少?
-
你试过调试你的代码吗?
checkedcontacts1的内容是怎样的 -
调试一下。
numberAsString有哪个值? idownvotedbecau.se/nodebugging -
评论您的完整字符串。你分裂了
-
或者,这就是您假设正在发生的事情。事实并非如此可以解释很多,你不同意吗?调试,检查值,或添加打印语句,或检查堆栈跟踪,你会找到你传递的确切字符串。