2

如何将 Scala 转换Array[Int]为 Java Integer[]?似乎默认值是将 int 转换为int[],这不是定义为的方法的正确参数

public static <T extends Comparable<? super T>> T[] merge(T[] xs)

编译失败并出现以下错误

type mismatch;
 found   : Array[Int]
 required: Array[? with Object]
Note: Int >: ? with Object, but class Array is invariant in type T.
You may wish to investigate a wildcard type such as `_ >: ? with Object`. (SLS 3.2.10)
      val res = SimpleSort.merge(xs)

                             ^
4

1 回答 1

4

也许与:

val javaArray: Array[java.lang.Integer] = scalaArray map java.lang.Integer.valueOf

AFAIK,在java中操作对象数组不是一个好习惯,你应该使用列表来代替。顺便说一句,您的merge方法将无法实例化T.

于 2013-09-19T10:55:45.560 回答