Произошла ошибка при попытке сохранить ArrayList<Float>
как столбец в базе данных комнаты
@Entity(tableName = "Height")
class Height: Serializable {
@PrimaryKey(autoGenerate = true)
var id: Long = 0
@ColumnInfo(name = "data")
var data: ArrayList<Float>? = ArrayList()
}
@Dao
abstract class HeightDao : BaseDao<Height>() {
@Insert(onConflict = OnConflictStrategy.REPLACE)
abstract fun insertAllHeight(listOfHeight: ArrayList<Float>)
Я написал TypeConverter
@TypeConverter
fun fromArrayListOfFloats(list: ArrayList<Float>?): String {
return list?.joinToString(separator = ";") { it.toString() } ?: ""
}
@TypeConverter
fun toArrayListOfFloats(string: String?): ArrayList<Float> {
return ArrayList(string?.split(";")?.mapNotNull { it.toFloatOrNull() } ?: emptyList())
}
Работает нормально, когда я конвертирую ArrayList<SomeEntityObject>
, но в этом случае делает ошибку выше. Пожалуйста, помогите!