У меня есть список классов данных, которые я пытаюсь перебрать.Вот класс данных и место его создания.
data class BgaResponse(val columnName: String, val restricted: Boolean, val predictionValue: Double)
val bgaResponse: List<BgaResponse>? = callBgaEndpoint(bgaRequest)
печать bgaResponses показывает это:
[{columnName=col1, restricted=false, predictionValue=0.9963}, {columnName=not_here, restricted=false, predictionValue=0.995941}]
Я впервые попробовал использовать forEach:
bgaResponse?.forEach {
println(it)
}
это печатаетничего такого.Затем я попытался получить доступ к каждому элементу по индексу:
for(i in 0 until bgaResponse!!.size) {
println(bgaResponse[i])
}
, это печатает каждый элемент, как и ожидалось:
{columnName=col1, restricted=false, predictionValue=0.9963}
{columnName=not_here, restricted=false, predictionValue=0.995941}
Я попытался напечатать bgaResponse[i].columnName
, но ничего не печатается снова.Теперь это не имеет никакого смысла.
Наконец я пытаюсь:
for(i in 0 until bgaResponse!!.size) {
val x: BgaResponse= bgaResponse[i]
}
это должно сработать, моя IDE говорит мне, что bgaResponse [i] является BgaResponse.Это возвращает ошибку:
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to com.package.something.placeholder.model.BgaResponse