从函数变量来获取每个更改的值
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编程!
以上是关于从函数变量来获取每个更改的值的主要内容,如果未能解决你的问题,请参考以下文章