Android解析String ArrayIndexOutOfBoundsException
我试图解析一个字符串以获得 3 个整数,但我有一个强制关闭并且 LogCat 说:ArrayIndexOutOfBoundExceptions。
这是我的代码的相关部分:
dateModif = tvDateAffichee.getText().toString();
String[] separatedDate = dateModif.split(".");
mDay = Integer.parseInt(separatedDate[0]);
mMonth = Integer.parseInt(separatedDate[1]);
mYear = Integer.parseInt(separatedDate[2]);
我用 toast 检查了字符串的值,它包含类似的值,例如: 13.9.2011
错误来自这一行:(
mDay = Integer.parseInt(separatedDate[0]);
如果我把它作为评论,它在下一行给出了同样的错误)
感谢您的帮助!
I'm trying to parse a String to obtain 3 Integer but I have a Force Close and the LogCat says : ArrayIndexOutOfBoundExceptions.
Here is the concerned part of my code :
dateModif = tvDateAffichee.getText().toString();
String[] separatedDate = dateModif.split(".");
mDay = Integer.parseInt(separatedDate[0]);
mMonth = Integer.parseInt(separatedDate[1]);
mYear = Integer.parseInt(separatedDate[2]);
I checked the value of the string with a toast and it contains values like, for example : 13.9.2011
The mistake comes from this line :
mDay = Integer.parseInt(separatedDate[0]);
(If I put it as comment, it gives the same mistake frome the next line)
Thanks for your help!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
String.split()< /code>
采用正则表达式,其中
.
表示“任何字符”。您需要像这样转义它:\.
。由于您将正则表达式指定为String
文字,因此您需要使用双反斜杠:dateModif.split("\\.")
。但最好使用真实的日期解析方法。
String.split()
takes a regex in which case.
means "any character". You'll want to escape it like this:\.
. And since you specify the regex as aString
literal, you'll need to double the backslashes:dateModif.split("\\.")
.But it would be better to use real date parsing methods for this.
看看这个
check this out