Android解析String ArrayIndexOutOfBoundsException

时间:2011-09-13 12:00:35

标签: android string parsing integer

我正在尝试解析一个String以获得3个Integer但我有一个Force Close并且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]);

(如果我把它作为评论,它会给下一行带来同样的错误)

感谢您的帮助!

2 个答案:

答案 0 :(得分:3)

String.split()采用正则表达式,.表示“任何字符”。你想要像这样逃避它:\.。由于您将正则表达式指定为String字面值,因此您需要将反斜杠加倍:dateModif.split("\\.")

但最好使用真实日期解析方法。

答案 1 :(得分:0)

String dateModif = tvDateAffichee.getText().toString();

String []separatedDate=dateModif.split("[.]");

    mDay = Integer.parseInt(separatedDate[0]);
    mMonth = Integer.parseInt(separatedDate[1]);
    mYear = Integer.parseInt(separatedDate[2]);

检查出来