我想將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