我有兩個列表Kotlin,相同大小foodObjects: MutableList<ParseObject>?
和checked: MutableList<Boolean>?
。每當checked
的元素成立時,我需要做一個for循環,並從foodObjects
中獲取objectId。所以這是在Java中:IndexOutOfBoundsException for循環在Kotlin
for(int i = 0; i< foodObjects.size(); i++) {
//here
}
但在Kotlin,我不知道爲什麼,有一些問題。事實上,如果我這樣做:
for(i in 0..foodObjects!!.size)
{
if (checked?.get(i) == true) {
objectsId?.add(foodObjects.get(i).objectId)
}
}
我已經得到了IndexOutOfBoundsException
:我不知道爲什麼,就繼續循環也在foodObjects.size
。我也可以用過濾器和地圖來做:
(0..foodObjects!!.size)
.filter { checked?.get(it) == true }
.forEach { objectsId?.add(foodObjects.get(it).objectId) }
但是我給出了同樣的錯誤。我需要停止它使用這個如果:
for(i in 0..foodObjects!!.size)
{
if(i < foodObjects.size) {
if (checked?.get(i) == true) {
objectsId?.add(foodObjects.get(i).objectId)
}
}
}
讓它工作。
每個人都可以告訴我爲什麼在Kotlin我需要這樣做,在Java中它工作的很好?
謝謝,我以爲它和Java很相似,現在我明白了! – ste9206
對不起我的問題,但如何在recyclerview中使用此結構?我發現了同樣的問題 – ste9206
我不確定你的問題是關於RecyclerView的,但你應該將它作爲一個新問題發佈。 – zsmb13