无法从Scala中的配置文件读取

问题描述

intersect = {
1 = {
  hits = {
      min = 2
    }
  dwellTime = {
    min = 10
    max = 20
  }
}
3 = {
  hits = {
    min = 2
  }
  dwellTime = {
    min = 10
    max = 20
  }
}
5 = {
  hits = {
    min = 2
  }
  dwellTime = {
    min = 10
    max = 20
  }
}
}

我正尝试阅读如下内容

private def toMap(hashMap: AnyRef): Map[String,AnyRef] = hashMap.asInstanceOf[java.util.Map[String,AnyRef]].asScala.toMap

lazy val someConfig: Map[Int,Map[String,Int]]] =
config.getList("intersect").unwrapped().asScala.map({
  someConfigItem => toMap(someConfigItem).map({
    case (k1,v1) => k1.toInt -> toMap(v1).map({
        x => toMap(x).map{
          case (k2,v2) => k2 -> toMap(v2).map({
            y => toMap(y) map{
              case (k2,v2) => k2 -> v2.toString.toInt
            }
          })
        }
      })
  })
}).reduceLeft(_ ++ _)

它抛出以下错误

错误:(100,18)类型不匹配;

found:scala.collection.immutable.Map [Int,scala.collection.immutable.Iterable [scala.collection.immutable.Map [String,scala.collection.immutable.Iterable [scala.collection.immutable.Map [String, ,Int]]]]]

必填:Map [Int,Map [String,Map [String,Int]]] })。reduceLeft(_ ++ _)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)