有没有办法迭代一个数据类的所有领域,而不使用reflection?

我知道使用javassist的reflection选择,但使用javassist有点复杂。 而且由于lambda或者koltin中的一些其他特性,javassist有时候不能正常工作。 那么有没有其他的方法来迭代数据类的所有领域,而不使用reflection。 (我不是以英语为母语的人,如果在词语之间有任何错误,请忽略它们)

Gradle – 以非零退出值完成1

我的gradle构建显示这个错误,有什么想法? Information:Gradle: Executing tasks: [:shownail_android:ShowNail:assembleShownailtestDebug, :RongIMKit:assembleDebug] Information:Kotlin: Kotlin JPS plugin is disabled Information:15/11/24 上午10:57 – Compilation completed with 1 error and 0 warnings in 39s 500ms Error:Gradle: Execution failed for task ‘:shownail_android:ShowNail:dexShownailtestDebug’. com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process ‘command ‘/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/bin/java” finished with non-zero exit value 1

使用特定字符串从集合中过滤数据

我只想收到不包含某些特定字符串的数据。 我有这个代码: @GET @Path(“getParticipants”) @Produces(MediaType.APPLICATION_JSON) fun getParticipants(): Map<String, List> { val (nodeInfo, nodeUpdates) = rpcOps.networkMapFeed() nodeUpdates.notUsed() return mapOf(“getParticipants” to nodeInfo .map { it.legalIdentities.first().toString() } .filter { it != myLegalName && it !in NOTARY_NAMES }) } 上面运行这个代码时,我收到这个: 0 “C=GB,L=London,O=UserA” 1 “C=GB,L=London,O=Controller” 2 “C=US,L=New York,O=UserB” myLegalName =“UserA” NOTARY_NAMES =“控制器” 我想达到的是,getParticipants只检索不包含UserA(“myLegalName”)和NOT CONTAINING Controller(“NOTARY_NAMES”)的行,所以在这种情况下只有“C = US,L = New York […]

开发lambdaexpression式

var t = 0 fun sumIntMap(hm: HashMap) = hm.forEach{ x -> t+=x.value }.let { t } 试图在这里用一个函数来总结一个HashMap Int值,我似乎无法优化它,所以它不需要捕获和需要临时var(t)。 我如何使用lambda中的临时variables并返回? 是我如何写它唯一真正的方法(使用let来返回临时variables)? 谢谢!

当对象应该返回自己的修改副本时,是否有可能避免代码重复?

我目前正在写一些代表符号数学expression式的类。 所有这些都是不变的。 然而,我发现自己经常重复同样的结构,所以我创建了一个接口来避免重复,但发现自己无法避免重复“substituteInside”方法(见下文),该方法返回对象的副本, “find”替换为“replace”。 这个行为对于这个接口的所有实例是一样的。 在我目前的解决方案中,接口需要实现一个方法createOp ,它返回对象的修改副本。 interface UnarySymbolicOp<InType : Any, OutType : Any, OpType : UnarySymbolicOp> : Symbolic { // Arg may be a complex expression val arg: Symbolic fun createOp(mesh: Symbolic) : OpType override val variables get() = arg.variables override fun substituteInside(find: Symbolic, replace: Symbolic): OpType { return createOp(arg.substitute(find, replace)) } } 接口可以实现如下:这些类表示获取expression式的某个组件的操作。 […]

如何解决我的代码,以消除铸造警告?

我有一些类似这样的代码: private val elements: ArrayList = ArrayList() … override fun curElements(): Collection { … return elements as Collection // squigly underline here, unchecked cast warning } 元素中的所有ISomeElement对象都是实现ISomeElement GenericElement对象 我怎样才能解决我的代码,以消除这个警告? 代码工作正常,这只是我问的警告 我无法改变乐趣的返回types

我如何使这不重复相同的事情

我需要这个打印每个航class的一些“#”,但重复它,我不能修复它。 这是目前的产出: TP23 ############################## TP23 ######### TP1971 ############ VN453 ##### TP23 ############################## TP23 ######### TP1971 ############ TP23 ############################## TP23 ######### VN453 ##### TP1971 ############ 这是预期的输出: TP23 ############################## TP23 ######### TP1971 ############ VN453 ##### fun mapReservas(reservas: List): Map<Pair, List> { val map = mutableMapOf<Pair, MutableList>() for (reserva in reservas) { val key = reserva.numVoo to reserva.day […]

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 […]

什么是关键字在kotlin

我无法理解,我无法在kotlin中findout关键字的含义。 你可以在这里查看例子: List 如果有人能解释这个的意思。 这将是非常感激的。

用Android检测一个长按

我目前正在使用 onTouchEvent(MotionEvent event){ } 检测用户何时按下我的glSurfaceView有没有办法来检测什么时候长按。 我猜如果我在开发文档中找不到太多,那么这将是某种方法的工作。 就像注册ACTION_DOWN和看ACTION_UP之前的时间一样。 如何检测使用opengl-es的长时间按下android?