我想将java.util.List转换为Scala列表。在后674713中提出了很多可能性,所以我想知道哪一个是最好的。我正在使用Play 2.1.1。我的模型是:将java.util.List转换为Scala列表的最佳解决方案
case class Page[T](
var data: java.util.List[T],
var previous: String,
var next: String,
var totalPageCount: Int)(implicit val tWrites: Writes[T])
object Page {
implicit def pageWrites[T: Writes]: Writes[Page[T]] = (
(__ \ 'data).write[java.util.List[T]] and
(__ \ 'previous).write[String] and
(__ \ 'next).write[String] and
(__ \ 'totalPageCount).write[Int])(unlift(Page.unapply[T]))
}
此代码不能正常工作,因为我需要添加一个作家通用的java.util.List [T]类型。
我已经加入这个我对象页:
implicit def listWrites[T](implicit fmt: Writes[T]): Writes[List[T]] = new Writes[List[T]] {
def writes(ts: List[T]) = JsArray(ts.map(t => Json.toJson(t)(fmt)))
}
但这个执行我的项目(“MatchError:空”上listWrites)时产生错误。因此,我想将我的java.util.List转换为Scala,以避免使用这个不起作用的编写器。任何解决方案
的可能重复[如何将Java UTIL列表斯卡拉列表(http://stackoverflow.com/questions/16162090/how-to-convert-java-util-list-to-scala-list ) – Peter