Kotlin:修改列表对象的属性



更新/修改MutableList中对象属性的表达方式是什么?

data class Car(
var imageUri: Uri,
var description: String = ""
)

我希望imageUri值在某个时刻为空,同时保留其描述,所以这就是我尝试的。

Gson().toJson(carList.map { it.imageUri = Uri.EMPTY }) //Clear image URI of all car

但是,当使用Gson将列表转换为JSON字符串表示时,该列表将变为空。

"[{},{}]"

我可以这样做,但不确定这是否是最好的。

carList.map { Gson().toJson(Car(Uri.EMPTY, it.description)) }.toString()

您可以使用forEach函数迭代列表中的每个元素,并更改每个元素的属性。例如:

carList.forEach { it.imageUri = Uri.EMPTY }
Gson().toJson(carList)

另一种选择是onEach:

Gson().toJson(carList.onEach { it.imageUri = Uri.EMPTY })

它们之间的区别在于,onEach函数在对每个元素执行给定操作后返回集合本身,而forEach则不返回。

相关内容

  • 没有找到相关文章

最新更新