[英]sorting array of arrays in descending order using arrays.sort function is resulting in errors in java
[英]why Arrays.sort() can't sort primitive type array in descending order?
我們知道,以下代碼可以工作:
Integer[] arr = new Integer[len];
Arrays.sort(arr, (a,b) -> (b - a));
但是為什么我們不能用int []做這個,為什么java不允許這個?
查看您嘗試使用的Arrays#sort方法的簽名
public static <T> void sort(T[] a, Comparator<? super T> c) {
...
}
其中<T>
要在Array中排序的對象的類。 Primitive int
不能是轉換類。
這是因為,順序誘導排序方法sort(T[] a, Comparator<? super T> c)
方法使用比較器。 由於無法使用基本類型對Comparator <>進行參數化,因此必須將此方法與對象一起使用。 就像在Map中一樣,我們不能聲明Map<int, boolean>
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.