2014-09-23 83 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塊中,或者您可以創建自己的函數,將其「安全地」轉換爲任何可以被程序使用的函數。