2016-08-31 5 views
0

レッツ内のユーザー定義のオブジェクトに文字列のリストを変換するには、私は文字列のリストを持っていると言う:キャストやスカラ座

val myList: List[String] = List("A", "B", "C") 

は、変換する方法はありますか/ハードコーディングすることなく、ユーザ定義されたオブジェクトには、このリストをキャスト、の線に沿って何か:リスト:

case class MyClass(name1: String, name2: String, name3: String) 
val result: MyClass = myList.asInstanceOf[MyClass] 
+0

は、あなたがそれを行う場合は、キャストを入力する必要がない理由 – pamu

+0

が...目的 – pamu

+1

'ケースMyClassクラス(名前は何であるクラスキャスト例外が発生します[文字列]) 'を呼び出し、リストを渡します。 – sebszyller

答えて

1
val result: MyClass = myList match { 
    case name1 :: name2 :: name3 :: Nil => MyClass(name1, name2, name3) 
    case _ => MyClass("", "", "") // default case, if list has less than 3 strings 
} 
+4

'Nil'が' _'でなくてはならないので、 'List'の中の3つの文字列にマッチします。 –

+0

@TheArchetypalPaul Fixed! –

関連する問題