Restraints on custom objects supported by Google FireStore?
I am using Google FireStore for the backend of my android application. The app has a custom User
class. As specified by the documentation, this custom class has a public constructor without arguments (and one with arguments) as well as a getter for each variable.
One of these variables is a LinkedList<String>
. I am able to upload User
objects without issue to FireStore, but retrieving them via
User u = document.toObject(User.class);
causes the following error, detected in logcat:
java.lang.IllegalArgumentException: field ase.liongps.utils.User.searches has type java.util.LinkedList, got java.util.ArrayList
I am wondering if Google FireStore perhaps mutates objects when it stores them in the cloud, or if something about how I tried to create a local User
object caused this issue. This bug is currently crashing my app, so any advice or input is most welcome!
java

|
show 2 more comments
I am using Google FireStore for the backend of my android application. The app has a custom User
class. As specified by the documentation, this custom class has a public constructor without arguments (and one with arguments) as well as a getter for each variable.
One of these variables is a LinkedList<String>
. I am able to upload User
objects without issue to FireStore, but retrieving them via
User u = document.toObject(User.class);
causes the following error, detected in logcat:
java.lang.IllegalArgumentException: field ase.liongps.utils.User.searches has type java.util.LinkedList, got java.util.ArrayList
I am wondering if Google FireStore perhaps mutates objects when it stores them in the cloud, or if something about how I tried to create a local User
object caused this issue. This bug is currently crashing my app, so any advice or input is most welcome!
java

1
Have you tried to get the data as anArrayList
instead ofLinkedList
?
– Alex Mamo
Nov 21 '18 at 16:41
I'm considering resorting to this, but it breaks some of our logic that uses ArrayList-specific methods.
– Chris T
Nov 21 '18 at 16:44
1
Get it first as anArrayList
and order after that. Does it work this way?
– Alex Mamo
Nov 21 '18 at 16:45
That is a possible option - I'll try it, thank you @AlexMamo - I'm still curious why this issue occurs though.
– Chris T
Nov 21 '18 at 16:47
Ok, tell me if it works this way.
– Alex Mamo
Nov 21 '18 at 16:48
|
show 2 more comments
I am using Google FireStore for the backend of my android application. The app has a custom User
class. As specified by the documentation, this custom class has a public constructor without arguments (and one with arguments) as well as a getter for each variable.
One of these variables is a LinkedList<String>
. I am able to upload User
objects without issue to FireStore, but retrieving them via
User u = document.toObject(User.class);
causes the following error, detected in logcat:
java.lang.IllegalArgumentException: field ase.liongps.utils.User.searches has type java.util.LinkedList, got java.util.ArrayList
I am wondering if Google FireStore perhaps mutates objects when it stores them in the cloud, or if something about how I tried to create a local User
object caused this issue. This bug is currently crashing my app, so any advice or input is most welcome!
java

I am using Google FireStore for the backend of my android application. The app has a custom User
class. As specified by the documentation, this custom class has a public constructor without arguments (and one with arguments) as well as a getter for each variable.
One of these variables is a LinkedList<String>
. I am able to upload User
objects without issue to FireStore, but retrieving them via
User u = document.toObject(User.class);
causes the following error, detected in logcat:
java.lang.IllegalArgumentException: field ase.liongps.utils.User.searches has type java.util.LinkedList, got java.util.ArrayList
I am wondering if Google FireStore perhaps mutates objects when it stores them in the cloud, or if something about how I tried to create a local User
object caused this issue. This bug is currently crashing my app, so any advice or input is most welcome!
java

java

asked Nov 21 '18 at 16:38
Chris TChris T
1868
1868
1
Have you tried to get the data as anArrayList
instead ofLinkedList
?
– Alex Mamo
Nov 21 '18 at 16:41
I'm considering resorting to this, but it breaks some of our logic that uses ArrayList-specific methods.
– Chris T
Nov 21 '18 at 16:44
1
Get it first as anArrayList
and order after that. Does it work this way?
– Alex Mamo
Nov 21 '18 at 16:45
That is a possible option - I'll try it, thank you @AlexMamo - I'm still curious why this issue occurs though.
– Chris T
Nov 21 '18 at 16:47
Ok, tell me if it works this way.
– Alex Mamo
Nov 21 '18 at 16:48
|
show 2 more comments
1
Have you tried to get the data as anArrayList
instead ofLinkedList
?
– Alex Mamo
Nov 21 '18 at 16:41
I'm considering resorting to this, but it breaks some of our logic that uses ArrayList-specific methods.
– Chris T
Nov 21 '18 at 16:44
1
Get it first as anArrayList
and order after that. Does it work this way?
– Alex Mamo
Nov 21 '18 at 16:45
That is a possible option - I'll try it, thank you @AlexMamo - I'm still curious why this issue occurs though.
– Chris T
Nov 21 '18 at 16:47
Ok, tell me if it works this way.
– Alex Mamo
Nov 21 '18 at 16:48
1
1
Have you tried to get the data as an
ArrayList
instead of LinkedList
?– Alex Mamo
Nov 21 '18 at 16:41
Have you tried to get the data as an
ArrayList
instead of LinkedList
?– Alex Mamo
Nov 21 '18 at 16:41
I'm considering resorting to this, but it breaks some of our logic that uses ArrayList-specific methods.
– Chris T
Nov 21 '18 at 16:44
I'm considering resorting to this, but it breaks some of our logic that uses ArrayList-specific methods.
– Chris T
Nov 21 '18 at 16:44
1
1
Get it first as an
ArrayList
and order after that. Does it work this way?– Alex Mamo
Nov 21 '18 at 16:45
Get it first as an
ArrayList
and order after that. Does it work this way?– Alex Mamo
Nov 21 '18 at 16:45
That is a possible option - I'll try it, thank you @AlexMamo - I'm still curious why this issue occurs though.
– Chris T
Nov 21 '18 at 16:47
That is a possible option - I'll try it, thank you @AlexMamo - I'm still curious why this issue occurs though.
– Chris T
Nov 21 '18 at 16:47
Ok, tell me if it works this way.
– Alex Mamo
Nov 21 '18 at 16:48
Ok, tell me if it works this way.
– Alex Mamo
Nov 21 '18 at 16:48
|
show 2 more comments
1 Answer
1
active
oldest
votes
You are getting the following error:
java.lang.IllegalArgumentException: field ase.liongps.utils.User.searches has type java.util.LinkedList, got java.util.ArrayList
Because of incompatible types of objects, LinkedList
and ArrayList
. To solve this, change the data type of your object from LinkedList
to ArrayList
and order the items client side.
If you think that my answer helped you, please also consider accepting it. I'd appreciate it. Thanks!
– Alex Mamo
Nov 22 '18 at 8:07
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53416727%2frestraints-on-custom-objects-supported-by-google-firestore%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
You are getting the following error:
java.lang.IllegalArgumentException: field ase.liongps.utils.User.searches has type java.util.LinkedList, got java.util.ArrayList
Because of incompatible types of objects, LinkedList
and ArrayList
. To solve this, change the data type of your object from LinkedList
to ArrayList
and order the items client side.
If you think that my answer helped you, please also consider accepting it. I'd appreciate it. Thanks!
– Alex Mamo
Nov 22 '18 at 8:07
add a comment |
You are getting the following error:
java.lang.IllegalArgumentException: field ase.liongps.utils.User.searches has type java.util.LinkedList, got java.util.ArrayList
Because of incompatible types of objects, LinkedList
and ArrayList
. To solve this, change the data type of your object from LinkedList
to ArrayList
and order the items client side.
If you think that my answer helped you, please also consider accepting it. I'd appreciate it. Thanks!
– Alex Mamo
Nov 22 '18 at 8:07
add a comment |
You are getting the following error:
java.lang.IllegalArgumentException: field ase.liongps.utils.User.searches has type java.util.LinkedList, got java.util.ArrayList
Because of incompatible types of objects, LinkedList
and ArrayList
. To solve this, change the data type of your object from LinkedList
to ArrayList
and order the items client side.
You are getting the following error:
java.lang.IllegalArgumentException: field ase.liongps.utils.User.searches has type java.util.LinkedList, got java.util.ArrayList
Because of incompatible types of objects, LinkedList
and ArrayList
. To solve this, change the data type of your object from LinkedList
to ArrayList
and order the items client side.
answered Nov 21 '18 at 17:07


Alex MamoAlex Mamo
43.4k82860
43.4k82860
If you think that my answer helped you, please also consider accepting it. I'd appreciate it. Thanks!
– Alex Mamo
Nov 22 '18 at 8:07
add a comment |
If you think that my answer helped you, please also consider accepting it. I'd appreciate it. Thanks!
– Alex Mamo
Nov 22 '18 at 8:07
If you think that my answer helped you, please also consider accepting it. I'd appreciate it. Thanks!
– Alex Mamo
Nov 22 '18 at 8:07
If you think that my answer helped you, please also consider accepting it. I'd appreciate it. Thanks!
– Alex Mamo
Nov 22 '18 at 8:07
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53416727%2frestraints-on-custom-objects-supported-by-google-firestore%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
Have you tried to get the data as an
ArrayList
instead ofLinkedList
?– Alex Mamo
Nov 21 '18 at 16:41
I'm considering resorting to this, but it breaks some of our logic that uses ArrayList-specific methods.
– Chris T
Nov 21 '18 at 16:44
1
Get it first as an
ArrayList
and order after that. Does it work this way?– Alex Mamo
Nov 21 '18 at 16:45
That is a possible option - I'll try it, thank you @AlexMamo - I'm still curious why this issue occurs though.
– Chris T
Nov 21 '18 at 16:47
Ok, tell me if it works this way.
– Alex Mamo
Nov 21 '18 at 16:48