我对android studio来说还很陌生,我正在使用firebase处理其他人的旧项目,并且在更新到包括firebase软件包的较新软件包并迁移到androidx之后,我得到了消息
java.lang.ClassCastException: com.google.firebase.Timestamp cannot be cast to java.util.Date
发生这种情况的地方就是这样的一行:
Date lessonDate = course.lessonDates.get(i);
另一个Stackoverflow答案建议更改.get(i);到.getTimestamp(i).toDate();但是当我尝试这样做时,我得到了“无法解析方法getTimestamp(int)。为清楚起见,传递了一个int来进行获取,因为它是firebase中的数组。我该如何解决所有这些Date问题?
对不起,如果我的术语不正确,这是我的新手。
答案 0 :(得分:0)
Firebase TimeStamp类具有toDate()方法,该方法返回Date类型。这可能可以解决您的问题:
Date lessonDate = course.lessonDates.get(i).toDate();
请谨慎使用,因为文档中提到它可能会失去精度: https://firebase.google.com/docs/reference/android/com/google/firebase/Timestamp.html#toDate()