У мене є спеціаліст з пар -
public static ArrayList<Pair<String, String>> fields;
З мого контролера я переглядаю цей список для перегляду за допомогою
return ok(index.render(fields));
Зараз у index.scala.html у мене є
@(fields : List[(String,String)])
Але це дає мені помилку компіляції, що типи не відповідають.
Чи пари не підтримуються в масштабі? Або я повинен використовувати якийсь інший синтаксис, щоб досягти цього?
Чи є в Scala сумісний тип для Java Pair?
Відповіді:
1 для відповіді № 1Ну, це пов'язано з невідповідністю типу. Це очікує scala.collection.immutable.List[(String,String)]
але натомість ти проїжджаєш java.util.List[(String,String)]
.
Щоб вирішити це, виконайте:
import scala.collection.JavaConverters._
return ok(index.render(fields.asScala.toList));
1 для відповіді № 2
Твій fields
значення типу java.util.ArrayList
, але параметр, який очікує index.scala.html, - це scala.collection.immutable.List
- отже, невідповідність типу.
0 для відповіді № 3
спробуйте нижче в index.scala.html:
@import java.util
@(fields : util.List[(String,String)])