java.lang.NoClassDefFoundError $$ intern $ forEach $ lambda $ 1在Kotlin中

我目前正在使用Kotlin 1.1.1版本开发Android应用程序

在我的代码中,我为了读取几个MutableListMutableMapMutableMap了几个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 ->

在调试器中,我可以评估mapOfremindersvariables,一切似乎都没有问题。

如果有人能帮助解决这个问题!

在几天前阅读Dan Lew的文章之后,我会建议使用Java 8中的Map.forEach { k, v -> }方法,这可能在Android运行时不可用。

您可以尝试使用来自Kotlin标准库的单个入口参数使用另一个forEach :

 mapOfreminders.forEach { (_, finalReminders) -> } 

在这里, 括号用于将输入参数分解为两个variables:忽略键和finalReminders值。