程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Kotlin 根据 id大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决Kotlin 根据 id?

开发过程中遇到Kotlin 根据 id的问题如何解决?下面主要结合日常开发的经验,给出你关于Kotlin 根据 id的解决方法建议,希望对你解决Kotlin 根据 id有所启发或帮助;

目前将两个数据类合并为另一个数据类的最佳 kotlin 惯用方法是什么:

@H_618_4@Data class A: ID: Int,name: @R_772_10495@ng Data class B: ID: Int,note: @R_772_10495@ng Data class C: data1: A,data2: B val result = mutablelivedata<List<C>>() val array1:List<A> = getA() val array2:List<B> = getB()

array1 和 array2 有 ID,我需要一个新列表,其中包含基于 array1 的 C 类型对象,以及我根据 array2 中的 ID 找到的额外数据。在 Java 上,我会遍历 array1,搜索 array2 中的 ID 并在每次迭代中构造一个新对象,将其添加到“结果”中,你如何使用 Kotlin 实现这一点?

到目前为止我尝试过的,它似乎有效,但它不是 kotlin 风格的:

@H_618_4@ val array1 = getA() val array2 = getB() val resultTemp: ArrayList<C> = arraylistof() for (obj in array1 ) { var note@R_772_10495@ng = "" for (obj2 in array2) { if (obj2.ID == obj1.ID) { note@R_772_10495@ng = obj2.note } } val objC = C(obj.ID,obj,note@R_772_10495@ng) resultTemp.add(objC) } result.value = resultTemp

解决方法

您不清楚 B 的实例是否可以在 C 中为空。如果为真,则简单

@H_618_4@val result = arrayA.map { a -> C(a,arrayB.find { a.id == it.id }) }

其他

@H_618_4@val result = arrayA.mapNotNull { a -> arrayB.find { a.id == it.id }?.let { C(a,it) } }

大佬总结

以上是大佬教程为你收集整理的Kotlin 根据 id全部内容,希望文章能够帮你解决Kotlin 根据 id所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:id根据