2014-09-23 57 views
0
为int
private def getInterfaceInfo(rawData: JsValue): NetworkDeviceInterfaceInfo = { 
    def getTotalInterfaces(group1: JsValue): Int = { 
    var count: Int = 0 
    val interfacesList = group1.as[JsObject].fields.groupBy { 
     case (key, value) => key.split("_", 2)(1) 
    }.map { 
     case (key, values) => 
     (key, values.toMap) 
    }.map { 
     case (key, valuesMap) => 
     val ifType = valuesMap.get(s"ifType_$key").getOrElse() 
     if (ifType.toString.contains("6")) { 
      count += 1 
     } 
    } 
    return count 
    } 

//这里的代码VAL的ifType我得到了它的价值“2”,我希望它像2 ......任何人可以帮助我从这里走出如何转换值从地图得到了在斯卡拉

+0

你试过.toInt吗?但是你必须把这个.toInt包装在Try块中! – 2014-09-23 06:05:39

回答

0

如果我理解正确,你要求将一个包含整数的字符串转换为一个整数?

你可以做

"2".toInt 

只要你知道这将是一个整数。但是如果你的字符串是“asdf”.toInt这会产生一个错误。

如上所述,如果发生异常,您可以将它封装在Try块中,或者您可以创建自己的函数,将其“安全地”转换为任何可以被程序使用的函数。