У меня есть этот кусок кода:
import java.util.stream._
import java.util.function._
final case class AbcTest(value: String)
def funToFunction[InT, OutT](fun: InT => OutT): Function[InT, OutT] = new Function[InT, OutT] {
override def apply(t: InT): OutT = fun(t)
}
def main(args: Array[String]): Unit = {
Stream.of("a", "b", "c")
.map[AbcTest](funToFunction((v: String) => AbcTest(v)))
.collect(Collectors.toList())
}
И это не с этим сообщением об ошибке:
Error:(43, 27) type mismatch;
found : java.util.stream.Collector[Nothing,?0(in method main),java.util.List[Nothing]] where type ?0(in method main)
required: java.util.stream.Collector[_ >: test.AbcTest, ?, ?]
Note: Nothing <: Any, but Java-defined trait Collector is invariant in type T.
You may wish to investigate a wildcard type such as `_ <: Any`. (SLS 3.2.10)
.collect(Collectors.toList)
Я не понимаю, что происходит, пожалуйста, помогите.