gpt4 book ai didi

java - 如何将不同的值传递给 scala 对象中的变量

转载 作者:行者123 更新时间:2023-12-02 03:31:42 25 4
gpt4 key购买 nike

我想在 mongodb 中创建不同的集合,因为我有一个 scala 对象类,这是我的代码

object Factory {

val connectionMongo = MongoConnection(SERVER)
val collectionMongo = connectionMongo(DATABASE)("collectionA")

}

我想添加不同的集合名称,因为我这样做这里的对象类是我的代码

    object Factory {

var COLLECTIONName:String=""
def setCollectionName(name:String)
{
COLLECTIONName=name
}
val connectionMongo = MongoConnection(SERVER)
val collectionMongo = connectionMongo(DATABASE)(COLLECTIONName)

}

class testA {

//getting collection object
Factory.setCollectionName("collectionA")
collectionMongo.find()//fetching the record of collectionA

}

class testB {

//getting collection object
Factory.setCollectionName("collectionB")
collectionMongo.find()//fetching the record of collectionB
}

但是此代码无法按预期工作,它总是将 COLLECTIONName 值获取为空字符串“”请指导我哪里做错了,请帮助

最佳答案

这是一个典型的工厂模式,您可以将 collectionMongo 从 val 更改为这样的函数

object Factory {
val SERVER = "<some server>"
val DATABASE = "<some database>"
val connectionMongo = MongoConnection(SERVER)(DATABASE)
def getCollection(name: String) = connectionMongo(name)
}

使用

class testA {
val collectionA = Factory.getCollection(nameA)
}

class testB {
val collectionB = Factory.getCollection(nameB)
}

关于java - 如何将不同的值传递给 scala 对象中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38006795/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com