LocalDate.parse 无法解析最后一个索引上的字符,因为这里没有字符(也不为空 space)

LocalDate.parse can't parse the character on the last index wehere there is no character (nor empty space)

我的记事本文件中有文本:

19-12-2021

我查了一下有没有空格,有none.

当我写的时候:

String noticeLastUpdateDate = textFileDAO.getMoneyTableNoticeLastUpdateDate();
DateTimeFormatter formatterDate = DateTimeFormatter.ofPattern("dd-MM-yyyy");
LocalDate dateNow = LocalDate.parse(noticeLastUpdateDate, formatterDate);

我收到一个错误:

java.time.format.DateTimeParseException: Text '19-12-2021
' could not be parsed, unparsed text found at index 10

但是没有索引10!为什么它认为有index[10]?

Trim 在使用 String::trim:

解析日期之前可能存在的空格
String trimmedDate = textFileDAO.getMoneyTableNoticeLastUpdateDate().trim();
DateTimeFormatter formatterDate = DateTimeFormatter.ofPattern("dd-MM-yyyy");
LocalDate dateNow = LocalDate.parse(trimmedDate, formatterDate);