从函数变量来获取每个更改的值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从函数变量来获取每个更改的值相关的知识,希望对你有一定的参考价值。

对象中有数据集。我可以改变价值,但像这样我总是得到一张旧地图。

   var partnerURLs=getPartnerURLs()

  def getPartnerURLs(): mutable.Map[String, List[String]] ={
    val sql = "select * from table where status_flag=1 and del_flag=0"
    val resultSet = DBUtils.doMapResult(sql)
    var result = new scala.collection.mutable.HashMap[String, List[String]]()
    resultSet.foreach(rows => {
      val row = rows.asInstanceOf[util.HashMap[String, Any]]
      result += (row.get("uname").toString -> row.get("urls").toString.split(",").toList)
    })
    result
  }

如果我更新数据库,则partnerURLS无法更改,它始终具有旧值。这个方法还可以,可以获得最新值,我想这个变量partnerURLs如何得到最新的值?

我做错了什么?

答案
var partnerURLs = getPartnerURLs()

这个变量是你的问题。如果它在封闭类或对象中全局声明,它将只初始化一次!

另外,请避免使用可变状态!尊重Scala和Functional编程!

以上是关于从函数变量来获取每个更改的值的主要内容,如果未能解决你的问题,请参考以下文章

从片段函数更改 TextView 的值

获取当前可见的Android Fragment

如何从URL获取片段标识符(hash#之后的值)?

如何从函数内部更改全局变量的值?

如何从 URL 获取片段标识符(哈希 # 后的值)?

将进度返回到 Django 中每个值更改的模板