我目前正在使用Kotlin开发1.1.1版本的Android应用程序
在我的代码中,为了读取几个mutableList
和mutableMap
结构,我对几个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
是一个列表
;教程
是列表
;提醒
是列表
;如果有人能帮助解决这个问题!
在几天前阅读了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选项