我已经定义了以下对象,我想同时对字符串进行排序。
object QuoteFuture extends App {
val wordsStr : String = "Lorem ipsum dolor ..."
import scala.concurrent._
import ExecutionContext.Implicits.global
val f : Future[String] = Future {
val wordsArr = wordsStr.split("\\s+")
wordsArr.sorted // <<<<< Compiler error from here (line 15)
}
f.onComplete(t => {
if (t.isSuccess) {
println(s"words sorted: ${t.get}")
} else {
println("could not sort words")
}
})
}
为简洁起见,我省略了整个字符串。当我尝试运行上面的代码时,我收到以下编译错误:
Error:(15, 14) polymorphic expression cannot be instantiated to expected type;
found : [B >: String]Array[String]
required: String
wordsArr.sorted
我不知道这意味着什么。
答案 0 :(得分:4)
您已宣布您的未来f
属于String
类型,但wordsArr.sorted
将是Array[String]
,因此您应将其声明为< / p>
val f : Future[Array[String]] = //...