Mapの値の型をScalaのAnyからStringに変換しようとしています。Map - Scalaの値の型を変換する
私はだから私は基本的に[文字列、文字列]をマップするために地図[文字列、任意]からの戻り値の型を変換するために、CanBuilderFormをこのimport scala.collection.generic.CanBuildFrom
case class Name(FristName: String,LastName: String)
object App29 extends App {
val name = Name("mark","aden")
val stringListBuilder = new CanBuildFrom[List[Any], String, List[String]] { def apply(from: List[Any]) = this.apply(); def apply() = List.newBuilder[String] }
val result = name.getClass.getDeclaredFields.map(_.getName)
.zip(name.productIterator.toList)(stringListBuilder).toMap
}
のようなコードを使用していましたが、それは投げ、なぜ私は理解していない
タイプミスマッチエラーです。
おかげ
編集-1
は、私は、文字列に変換しname.productIterator.map(_。のtoString)を使用することができることを考え出したが、私は私のCanBuildFromの構文が間違っている理由を知りたいですそしてどうやって。
この[Scala-lang blog](https://www.scala-lang.org/blog/2017/05/30/tribulations-canbuildfrom.html)が興味深いかもしれません。本質的に、Scalaは、進行中の言語デザインで 'CanBuildFrom'の使用をやめようとしています。 –