我有两节课。
class QuestionList : ArrayList<QuestionItem>()
data class QuestionItem(
val id: Int,
val order: Int,
val header: String,
)
当我过滤了questionList对象时,它返回questionItem的数组列表。var questionList = gson.fromJson(str, QuestionList::class.java)
val filteredQuestionList = questionList.filter { it.lesson_id == id } as QuestionList // error here. cannot be cast
我想将ArrayList强制转换为QuestionList。但我出错,该列表无法转换为QuestionList。我有QuestionItem的列表,但我需要QuestionList对象。如何通过强制转换或其他方式解决此问题?
最佳答案
这里的问题是filter
方法不知道您的QuestionList
类,因此它返回一个不是List<QuestionItem>
的新的已过滤QuestionList
。
要解决此问题,假设QuestionList
类确实是一个空子类,则可以在当前正在使用List<QuestionItem>
的任何地方(Gson调用除外)简单地使用QuestionList
,或者如果需要结果可变则调用.toMutableList()
。
关于android - List无法转换为扩展List的我的类(class)。为什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/63281417/