我試圖將List [Any]轉換爲具有某些數據類型的元組。將列表[Any]轉換爲具有不同類型值的元組
def matchValue(list: List[Any]):(Int, Int, Int, Option[String], String,Option[Date],String, Date,String, Option[Int],Option[String])= {
list match {
case i1::i2::i3::i4::i5::i6::i7::i8::i9::i10::i11 => (i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11)
}
}
,但我有錯誤:
Expression of type Any doesn't conform to expected type Int
最初的用例是什麼?我可以扔你[形狀](https://github.com/milessabin/shapeless),但我不知道這是否是正確的解決方案。 – Reactormonk
我嘗試轉換數據,以便將其導入到光滑的數據庫中 –
您正嘗試在此處執行一系列隱式轉換。你的錯誤是說,因爲第一個元素是Any,所以你不能強制它成爲一個Int,根據你的返回類型,返回的Tuple中的第一個元素必須是它。您可以從Any中爲每種類型編寫[轉換](http://docs.scala-lang.org/tutorials/tour/implicit-conversions)並將它們放在範圍內,儘管這看起來過多。看起來你可能會解析輸入的行。如果是這樣,那麼你可以使用現有的[marshallers](http://spray.io/documentation/1.2.4/spray-httpx/marshalling/) – WillD