将Java枚举转换为Scala映射

时间:2016-12-20 19:57:08

标签: scala

有没有办法让基于java的API循环遍历属性名称,有人将键/值对添加到Scala Map [String,Object]?

Enumeration properties = something.getPropertyNames();
while (properties.hasMoreElements())
{
    String propName = (String) srcProperties.nextElement();
    Object v = something.getValue(propName);
}

1 个答案:

答案 0 :(得分:4)

我认为您将Java Enumeration与从中获取的Properties对象混淆。像  Enumeration propertyNames = props.getPropertyNames()

我们无法从生成的枚举中创建地图,因为它只是一系列字符串,但我们可以从原始Map[String,String]对象中获取Properties

 import scala.collection.JavaConverters._
 val propertyMap = props.asScala  // mutable map
 // or
 val propertyMap = props.asScala.toMap  // immutable map