我正在使用 Google FireStore 作为我的 Android 应用程序的后端。该应用程序有一个自定义User
类(class)。正如文档所指定的,这个自定义类有一个不带参数的公共(public)构造函数(以及一个带参数的公共(public)构造函数)以及每个变量的 getter。
这些变量之一是 LinkedList<String>
。我可以上传User
对象对 FireStore 没有问题,但通过
User u = document.toObject(User.class);
导致以下错误,在 logcat 中检测到:
java.lang.IllegalArgumentException: field ase.liongps.utils.User.searches has type java.util.LinkedList, got java.util.ArrayList
我想知道 Google FireStore 在将对象存储在云中时是否可能会改变对象,或者我如何尝试创建本地 User
对象导致了这个问题。这个错误目前正在导致我的应用程序崩溃,因此非常欢迎任何建议或意见!
最佳答案
您收到以下错误:
java.lang.IllegalArgumentException: field ase.liongps.utils.User.searches has type java.util.LinkedList, got java.util.ArrayList
由于LinkedList
和ArrayList
对象类型不兼容。要解决此问题,请将对象的数据类型从 LinkedList
更改为 ArrayList
并在客户端对项目进行排序。
关于java - Google FireStore 支持的自定义对象有限制吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53416727/