如何避免暴露Kotlin中的可变属性?

问题描述

假设有一个带有属性列表的类A:

class A {

  val list = mutableListOf<String>()
  
  fun addAText() {
    list.add("a text")
  }

}

但现在不仅方法addAText()可以将字符串添加到列表中,而且还可以将任何地方的任何人添加到列表中。

所以我解决了上面的代码重写问题:

class A {

  private val mutList = mutableListOf<String>()

  val list: List<String>
  get() = mutList
  
  fun addAText() {
    mutList.add("a text")
  }

}

问题是:有没有更好的方法?像任何语法支持还是标准的kotlin lib? 额外的私有财产似乎不是解决方案。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)