Scala构造函数如何将其转换为Scala语言

时间:2019-02-19 20:52:11

标签: java scala

您好,我需要帮助如何在Scala中使用两个构造函数进行转换。

replace(/&/g,'&')

2 个答案:

答案 0 :(得分:1)

class Configure(private val config :Config) {
  def this()                     = this(ConfigFactory.load())
  def this(confFileName :String) = this(ConfigFactory.load(confFileName))
}

答案 1 :(得分:1)

在Scala中,通常会使用一个伴随对象来完成此操作:

class Configure private (config: Config) {
  def configString(name: String) = config.getString(name)
}

case object Configure {
  def apply(confFileName: String ) =
    new Configure(ConfigFactory.load(confFileName))

  def apply() =
    new Configure(ConfigFactory.load())
}

这很好地将类的行为与创建类的不同方式分开。

[我重命名了getString,因为在Scala中“获取器”通常不是以get开头,它们只是要检索的值的名称。 ]