Я использовал один из ответов на этот вопрос , чтобы получить справку по предыдущей ошибке, но теперь я получаю другой. Есть предложенный ответ на этот вопрос, но я не могу найти решение для своей проблемы.
java .lang.ClassCastException: java .util .ArrayList нельзя привести к java .lang.Object []
private var data: Any? // fixed, can't change data type as it's in a compiled library to accept all kinds of data.
fun users() : ArrayList<User> {
return (data as Array<*>).filterIsInstance<User>() as ArrayList<User>
}
После предложений в комментарии рабочий код выглядит следующим образом, но у меня есть другой побочный эффект Я не могу добавить элементы в массив, ArrayList остается пустым.
fun users() : ArrayList<User> {
return (data as ArrayList<*>).filterIsInstance<User>() as ArrayList<User>
}
fun addItem(userVO: User) {
users().add(user)
}
Редактировать 2
val users: ArrayList<User> get() = ((data as? ArrayList<Any>)?.filterIsInstance<User>() ?: emptyList()) as ArrayList<User>
fun addItem(user: User) {
users.add(user)
}