当前位置: 首页 > 面试题库 >

玩!无法将Java列表转换为Scala列表

农飞尘
2023-03-14
问题内容

我试图将字符串列表从我的Java控制器传递到scala模板。
这是视图代码:

public static Result index() {
    List<String> scripts = Arrays.asList(
        "script1.js",
        ...
        "scriptN.js"
    );

    return ok(views.html.index.render(scripts));
}

这是临时代码:

@(scripts: List[String])

@main("test page")(scripts) {
    ... html here ...
}

我遇到的错误(在Typesafe Activation Compile页面中):

类索引中的render方法不能应用于给定的类型;
必需:scala.collection.immutable.List
找到:java.util.List
原因:实际参数java.util.List无法通过方法调用转换转换为scala.collection.immutable.List

有没有解决方法,而无需使用Java> Scala转换?
我发现了这个问题:Play不会将java-list转换为scala-
list,它描述了类似的情况,尽管我没有任何我知道的templateImports导入,但什至看不到Build.scala文件。 。

有任何想法吗?谢谢!


问题答案:

请尝试以下方法:

import scala.collection.JavaConverters;

public static Result index() {
    List<String> scripts = Arrays.asList(
        "script1.js",
        ...
        "scriptN.js"
    );
    scala.collection.immutable.List<String> ls = JavaConverters.asScalaBufferConverter(scripts).asScala().toList();
    return ok(views.html.index.render(ls));
}


 类似资料:
  • 问题内容: 我需要在Java中实现一个返回Scala的方法。 但是我遇到这个错误: 到目前为止,这是我的代码: 但似乎没有提供将其转换为的可能性。 问题答案: 我需要JavaConverters来解决这个问题。

  • 问题内容: 现在,我想创建一个新列表,其中包含中的所有值。这里的结果应该包含 问题答案: 使用以下方法尝试:

  • 问题内容: 将a 转换为同时保持Queue顺序的最快方法是什么? 问题答案: 最快的方法是首先使用LinkedList,它可用作列表或队列。 否则您需要复印 注意:处理PriorityQueue时,请使用循环,轮询每个元素并添加到列表中。要列出的PriorityQueue不维护堆顺序。

  • 问题内容: 我已经编写了此函数,用于将元组列表转换为列表列表。有没有更优雅的/ Pythonic的方式来做到这一点? 问题答案: 您可以使用列表推导:

  • 在我的Spring Boot项目中,我有两个类(实体和模型) 在模型中有一个列表 :

  • 问题内容: 我如何转换 至 问题答案: 使用简单的列表理解: 会给你: