невозможно создать ArrayList внутри подкласса RealmObject

У меня есть класс, который является подклассом RealmObject, и я хочу создать внутри этого класса arraylist, который будет десериализован gson, когда я начинаю строить ошибку компиляции проекта, появляется, что

Error:Type 'java.util.ArrayList<my_package.MessageContainerObject.Test>' of field 'messages' is not supported 

вот мой класс

 open class MessageContainerObject : RealmObject() { @SerializedName("from") var from = "" @SerializedName("messages") var messages = ArrayList<Test>() class Test } 

если я удалю родительский класс, все работает нормально

Вы можете определить сообщения как RealmList Из документов:

RealmList имеет два режима: управляемый и неуправляемый режим. В управляемом режиме все объекты сохраняются внутри Realm, в неуправляемом режиме он работает как обычный ArrayList.

https://realm.io/docs/java/latest/api/io/realm/RealmList.html

ArrayList не поддерживается тип поля для объектов Realm. Здесь вы можете увидеть доступные типы, может быть, RealmList подходит для вашего RealmList использования?

Ты не можешь. Царство принимает только RealmList . Но вы можете использовать RealmList и написать пользовательский jsonAdapter, который преобразует его в RealmList и наоборот.

 open class MessageContainerObject : RealmObject() { @SerializedName("from") var from = "" @SerializedName("messages") var messages = RealmList<Test>() } class RealmListAdapter<T : RealmModel>( val elementAdapter: JsonAdapter<T>) : JsonAdapter<RealmList<T>>() { companion object { val FACTORY: Factory = Factory { type, annotations, moshi -> val rawType: Class<*> = Types.getRawType(type) if (rawType == RealmList::class.java) { val elementType = Types.collectionElementType(type, RealmList::class.java) val elementAdapter = moshi.adapter<RealmModel>(elementType) return@Factory RealmListAdapter(elementAdapter).nullSafe() } null } } override fun fromJson(reader: JsonReader): RealmList<T> { val result = RealmList<T>() reader.beginArray() while (reader.hasNext()) { result.add(elementAdapter.fromJson(reader)) } reader.endArray() return result } override fun toJson(writer: JsonWriter, value: RealmList<T>) { writer.beginArray() for (element in value) { elementAdapter.toJson(writer, element) } writer.endArray() } }