Kotlin: For-Schleife muss eine iterator-Methode - ist das ein bug?
Ich habe den folgenden code:
public fun findSomeLikeThis(): ArrayList<T>? {
val result = Db4o.objectContainer()!!.queryByExample<T>(this as T) as Collection<T>
if (result == null) return null
return ArrayList(result)
}
Wenn ich rufe, wie:
var list : ArrayList<Person>? = p1.findSomeLikeThis()
for (p2 in list) {
p2.delete()
p2.commit()
}
Würde es mir den Fehler:
For-loop-Bereich muss ein "iterator ()" - Methode
Bin ich hier etwas fehlt?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihre
ArrayList
ist der null-Typ. So haben Sie diese zu lösen. Es gibt mehrere Optionen:oder
oder Sie können einfach eine leere Liste zurück
list?.forEach { ... }
Griffe der null (wie oben schon erwähnt, einfach nur mit dem code-block, um den es)Ich habe auch vor diesem problem, wenn ich loop auf einige Sache, es ist kein array.
Beispiel
Dieser Fall ist anders zu dieser Frage, aber hoffe, dass es helfen