在我的应用程序中,我使用了 scala.collection.JavaConverters._
中的方法 asScala
,但在运行时我收到一条警告,称该方法自 2.13.0 起已被弃用改为 scala.jdk.CollectionConverters._
。
但是当我尝试在 Java 列表上使用它时,我一直遇到此错误:
type mismatch;
found : java.util.List[play.data.validation.ValidationError]
required: ?{def asScala: ?}
Note that implicit conversions are not applicable because they are ambiguous:
both method asScalaBufferConverter in object JavaConverters of type [A](l: java.util.List[A])collection.JavaConverters.AsScala[scala.collection.mutable.Buffer[A]]
and method ListHasAsScala in trait AsScalaExtensions of type [A](l: java.util.List[A])jdk.CollectionConverters.ListHasAsScala[A]
are possible conversion functions from java.util.List[play.data.validation.ValidationError] to ?{def asScala: ?}
即使我没有导入scala.collection.JavaConverters._
。
我正在使用 play 框架 2.7.3 进行编码,我的 View (twirl 模板)有一个参数 form: Form[InformationData]
并且在此发生错误
@if(form.hasGlobalErrors) {
@form.globalErrors.asScala.map { error: play.data.validation.ValidationError =>
<div>
@error.key: @error.message
</div>
}
}
我该如何处理这个问题?
最佳答案
我找到了解决方案:因为我是在 java 代码上执行此操作,所以我需要使用 scala.jdk.javaapi.CollectionConverters._
使其在 Java.util.List
上工作
关于java - Scala.jdk.CollectionConverter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59579616/