问题
I'm using Realm for Local storage in Android. I'm getting following response form server.
[{
"ListId": 10,
"Names": ["Name1", "Name2", "Name3", "Name4"]
}]
Here is my Model
public class Model extends RealmObject {
private int ListId;
private RealmList<String> Names = new RealmList<String>()
public int getListId() {
return ListId;
}
public void setListId(int listId) {
ListId = listId;
}
public RealmList<String> getNames() {
return Names;
}
public void setNames(RealmList<String> names) {
Names = names;
}
}
And I'm getting this for ArrayList
Type parameter 'java.lang.String' is not within its bound; should extend 'io.realm.RealmObject'.
Thanks.
回答1:
Realm version 4.0.0 will add support for RealmList that can contain String, byte[], Boolean, Long, Integer, Short, Byte, Double, Float and Date values.
Please refer to this pull request:
https://github.com/realm/realm-java/pull/5031
And the realm changelog:
https://github.com/realm/realm-java/blob/master/CHANGELOG.md
回答2:
RealmLists doesn't support simple strings yet. so you have to wrap each String into its own object:
You can see a work-around here: Gson deserialization of List<String> into realmList<RealmString>
or here: https://realm.io/docs/java/latest/#primitive-lists
回答3:
yes it is limitation from realm, you can't create array or list of strings, Please refer to the following link
https://github.com/realm/realm-java/issues/575
来源:https://stackoverflow.com/questions/35432842/realmlist-of-string-type-in-android