【发布时间】:2018-09-26 17:11:26
【问题描述】:
我正在尝试在 Scala 中以通用方式包装 java.util.Array.binarySearch,但以下代码不起作用:
def binarySlice[T](minValue: T, array: Array[T]): Array[T] = {
val i = java.util.Arrays.binarySearch(array, minValue)
val idx = if (i > 0) i else -i - 1
array.slice(idx, array.length)
}
错误是:Cannot resolve overloaded method 'binarySearch'。我应该怎么做才能使这段代码工作?
【问题讨论】:
-
您尝试使用哪种 binarySearch 方法?
Array[T]有两个实现,但它们需要另一个参数。 -
第一个只有2个参数,第二个是目标值?
-
有两个带有 Array[T] 参数的 binarySearch 方法,它们都没有两个参数。
public static <T> int binarySearch(T[] a, T key, Comparator<? super T> c)和public static <T> int binarySearch(T[] a, int fromIndex, int toIndex, T key, Comparator<? super T> c)
标签: scala