case classとコレクションを相互変換したいことがたまにあるので方法をまとめておきます。 もちろんやり方は一つではないので一例です。 準備 scala 2.9.2で確認 scala> case class Foo(i: Int, s: String) defined class Foo 変換方法 List Listにするのは簡単ですが、case classに戻すのはリフレクションが必須でasInstanceOfが頻発して嫌な感じですね。 productIteratorの段階で型情報が失われてしまうのが原因ではないかと思います。 ref: scala - Instantiating a case class from a list of parameters - Stack Overflow case class -> List scala> val l = f.productIter