在将+=查看到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++

09-27 18:16