我正在尝试解析一个字符串以获得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]);


我用烤面包检查了字符串的值,它包含的值例如:13.9.2011

错误来自此行:

    mDay = Integer.parseInt(separatedDate[0]);


(如果我将其作为注释,则从下一行给出相同的错误)

谢谢你的帮助!

最佳答案

String.split()使用正则表达式,在这种情况下,.表示“任何字符”。您需要这样逃避它:\.。并且由于您将正则表达式指定为String文字,因此需要将反斜杠加倍:dateModif.split("\\.")

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

10-08 03:10