kotlin - Kotlin 中 += 和添加到 MutableList 之间的区别

标签 kotlin

在查看 += 到 mutableList 后,我​​无法立即弄清楚它是什么,我的想象是 i = i+1,其中 i 是一个整数,这在下面的代码中没有意义,但是经过调试我意识到它只是添加了一个项目列表,所以我的问题是使用 += 将项目添加到列表而不是仅使用 mutableList.add(item) 有什么区别,这至少在我的情况下更具可读性。预先感谢。

musicSource.forEach { mediaItem ->
            val albumMediaId = mediaItem.album.urlEncoded
            val albumChildren = mediaIdToChildren[albumMediaId] ?: buildAlbumRoot(mediaItem)
            albumChildren += mediaItem
        }

最佳答案

没有区别。+= 是一个内联运算符,在 MutableCollections.kt 中它的实现是:

@kotlin.internal.InlineOnly
public inline operator fun <T> MutableCollection<in T>.plusAssign(element: T) {
    this.add(element)
}

如您所见,它使用 add() 方法。
您可以使用或不使用它。这是你的选择。
这更具可读性 x = x + 1 ,但我们倾向于使用 x++

关于kotlin - Kotlin 中 += 和添加到 MutableList 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51694151/

相关文章:

ViewModel 中的 Kotlin 高阶函数

function - 在 Kotlin 中分配给变量的 Lambda 表达式。为什么?

Android复选框删除框保留文本

android - 上传完成前调用 Firebase Storage onSuccess

spring - 将对象属性传递给 spring Mock mvc 调用

android - Kotlin 中的字符串到位图

arraylist - 如何在kotlin中获取ArrayList的最后一个值?

android - Fragment 和 Anko toast 的“接收器类型不匹配”

java - 在 Kotlin 中访问映射内的值

kotlin - 我可以将 Kotlin 文件生成的类的默认构造函数设为私有(private)吗?