【发布时间】:2020-11-29 22:35:45
【问题描述】:
Kotlin 程序 sn-p:
fun peek() = if (!elements.isEmpty() && elements.size > 0) elements[0] else null
效果很好,但有时我会收到 Firebase 崩溃报告:
致命异常:java.lang.IndexOutOfBoundsException 索引:0,大小:1 java.util.ArrayList.get (ArrayList.java:437) bigmick.ghu.util.Queue.peek (Queue.kt:17)
对我来说这听起来很疯狂:列表的大小为 1,第一个(现有)元素也可以通过 index=0 引用。
据我所知,它应该可以工作。但有时不会。
【问题讨论】:
-
似乎更像是 kotlin 问题而不是 java 问题
-
可以多线程访问列表吗?
-
是的,更多线程(kotlin 调度程序)可以访问列表
标签: java android multithreading kotlin arraylist