Scala函数返回请求的类型

时间:2015-06-18 23:05:49

标签: scala

我有一个配置文件,其中包含(主要)JSON格式的几个属性

"SERVER_NAME": "FooServer",
"SERVER_PORT": [9999],
"DEBUG": "false",
"MAX_USERS": [1000],
"MAX_INSTANCES": [5]

我通过typesafe配置库加载。我有一个包装类,它有一个get函数,它根据名称返回属性。我希望能够致电

Config.get("SERVER_NAME") 

并拥有一个String" FooServer"回到我身边。或者是int或boolean,具体取决于配置中的值类型。

我目前的获取功能在这里:

val factory = ConfigFactory.load()

def get(configValue: String) : AnyRef = {
   val javaObject = factory.getAnyRef(configValue)
   //return something
}

遗憾的是没有编译。 getAnyRef函数返回它作为未包装的盒装Java对象的任何配置值,以便从配置文件处理类型推断。我应该只对对象的类型进行匹配吗? get函数的返回类型应该是什么? AnyRef是我发现的最全面的全包式。

我意识到Scala函数必须指定返回类型,但是我有什么方法可以使用我真正简单的语法来解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

AnyAnyRef有时混淆,您可以使用Any代替它,它应该编译。