当前位置: 首页 > 知识库问答 >
问题:

Kotlin中的java.lang.noClassDefFounderRor$$inlined$foreach$lambda$1

孟树
2023-03-14

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

在我的代码中,为了读取几个mutableListmutableMap结构,我对几个foreach进行了叠置。

不幸的是,我的应用html" target="_blank">程序崩溃,出现以下stacktrace:

java.lang.noClassDefounderror:com.package.fragment.remederaddfragment$onretrieveBusinessObjects$$inlined$foreach$lambda$1在com.package.fragment.remederaddfragment.onretrieveBusinessObjects(remederaddfragment.kt:275)在com.smartnsoft.droid4me.app.droid4mizer.onretrieveBusinessObjects(droid4mizer.java:46)在com.smartnsoft.droid4me.app.droid4mizer$1.run(Droid4mizer.java:197)在java.util.concurrent.executors$runnableadapter.call(executors.java:423)在java.util.concurrent.futuretask.run(futuretask.java:237)在java.util.concurrent.threadpoolexecutor.runwork(threadpoolexecutor.java:1113)在

这里是代码

tutorialCategories.forEach { (_, _, _, _, _, tutorials) ->
  tutorials.forEach { tutorial ->
    if (tutorial.id == simpleReminderFromExtra.tutorialId)
    {
      //...
      val mapOfreminders = mutableMapOf<Int, MutableList<Reminder>>()
      val reminders = ReminderServices.getReminderByTutorialId(simpleReminderFromExtra.tutorialId)

      reminders.forEach { reminder ->
        //...
      }

      mapOfreminders.forEach { _, finalReminders ->
        //...

        finalReminders.forEach { reminder ->
          //...
        }

        //...
      }
    }
  }
}

其中:

  • tutorialcategories是一个列表
  • 教程列表
  • 提醒列表

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

共有1个答案

孟谭三
2023-03-14

在几天前阅读了Dan Lew的文章后,我建议使用Java8中的map.foreach{k,v->}方法,这可能是Android运行时不可用的。

您可以尝试使用另一个带有Kotlin标准库中的单个条目参数的forEach:

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

这里,圆括号用于将entry参数分解为两个变量:忽略键和FinalReminders值。

 类似资料:
  • 问题内容: 我试图将一些for-each循环更改为lambda- 方法,以发现lambda表达式的可能性。以下似乎是可能的: 带lambda 但是下一个无效: 带lambda 最后一行的语法是否有问题,或者不可能从方法中返回? 问题答案: 在那里,从λ表达式,而不是从包含方法返回。而不需要流: 这里将流限制为与谓词匹配的那些项,然后返回带有第一个匹配条目的。 这看起来不如for循环方法有效,但实际

  • 我试图将一些for-each循环更改为lambda-方法,以发现lambda表达式的可能性。以下似乎是可能的: 使用lambda 但下一个就不起作用了: 带lambda 是最后一行的语法有问题还是无法从方法返回?

  • 问题内容: 相当于kotlin中的代码,我尝试执行的操作似乎无效: 在里面: 问题答案: 如果是Java,则可以使用SAM转换: 否则,如果界面是Kotlin … …您可以使用语法匿名实现它:

  • 我想并行处理一个集合,但我在实现它时遇到了困难,因此我希望得到一些帮助。 foreach方法的原型采用作为参数,但我希望它等待异步lambda。

  • 我正在做一个Java项目,在这个项目中,我第一次尝试了Kotlin。我开始使用Intellij Idea中提供的JavaToKoltin转换器将一些类转换为Kotlin。除此之外,我的自定义异常现在已转换为Kotlin。但是,在这种情况下,异常处理不再正常工作 如果我在java代码中抛出一个自定义异常(例如,),则不会捕获该异常(请参见下面的代码)。 谁能给我解释一下为什么异常没有被捕获。是从Ko

  • 问题内容: 我在junit测试代码中的Java中收到此错误。我在网上查了一下,它说我需要在类路径中添加junit.jar。 在Eclipse中,我已将其添加到“项目属性”窗口的类路径中,但仍然收到初始化错误。我该怎么办..? 这是错误的完整记录: 问题答案: 在Package Explorer中右键单击您的项目>单击Properties 转到Java Build Path> Libraries选项