java.lang.NoClassDefFoundError $$ intern $ forEach $ lambda $ 1在Kotlin中
我目前正在使用Kotlin 1.1.1版本开发Android应用程序
在我的代码中,我为了读取几个MutableList
和MutableMap
而MutableMap
了几个forEach
结构。
不幸的是,我的应用程序崩溃与以下stacktrace:
java.lang.NoClassDefFoundError:com.package.fragment.ReminderAddFragment $ onRetrieveBusinessObjects $$内联$ forEach $ lambda $ 1 com.package.fragment.ReminderAddFragment.onRetrieveBusinessObjects(ReminderAddFragment.kt:275)在com.smartnsoft.droid4me.app.Droid4mizer .onRetrieveBusinessObjects(Droid4mizer.java:552)at com.smartnsoft.droid4me.app.Droid4mizer.onRetrieveBusinessObjectsInternal(Droid4mizer.java:606)at com.smartnsoft.droid4me.app.Droid4mizer.access $ 000(Droid4mizer.java:46)at com .smartnsoft.droid4me.app.Droid4mizer $ 1.run(Droid4mizer.java:197)at java.util.concurrent.Executors $ RunnableAdapter.call(Executors.java:423)at java.util.concurrent.FutureTask.run(FutureTask。 java:237)在java.util。线程。的.java:818)
这里的代码
tutorialCategories.forEach { (_, _, _, _, _, tutorials) -> tutorials.forEach { tutorial -> if (tutorial.id == simpleReminderFromExtra.tutorialId) { //... val mapOfreminders = mutableMapOf<Int, MutableList>() val reminders = ReminderServices.getReminderByTutorialId(simpleReminderFromExtra.tutorialId) reminders.forEach { reminder -> //... } mapOfreminders.forEach { _, finalReminders -> //... finalReminders.forEach { reminder -> //... } //... } } } }
其中:
-
tutorialCategories
是一个List
; -
tutorials
是一个List
; -
reminders
是一个List
;
代码的第275行是mapOfreminders.forEach { _, finalReminders ->
。
在调试器中,我可以评估mapOfreminders
variables,一切似乎都没有问题。
如果有人能帮助解决这个问题!
在几天前阅读Dan Lew的文章之后,我会建议使用Java 8中的Map.forEach { k, v -> }
方法,这可能在Android运行时不可用。
您可以尝试使用来自Kotlin标准库的单个入口参数使用另一个forEach :
mapOfreminders.forEach { (_, finalReminders) -> }
在这里, 括号用于将输入参数分解为两个variables:忽略键和finalReminders
值。