2016-04-04 22 views
0

birisi nazik ettiğini söyleyebilir misiniz değil int olmadıkça dizi değil, int[]neden aşağıdaki kod işe yaramaz

Integer[] one = {2,5,8,1,3,4,9}; 

Arrays.parallelSort(one, (p1, p2) -> p2 - p1); 

System.out.println(Arrays.toString(one)); 
Integer[] olmadıkça

cevap

3

Arrays, int[] ve Comparator alanlarını kullanan bir yöntemle parallelSort yöntemine sahip değildir. Bir Comparator ikinci argüman alır

TEK parallelSort aşırı böylece birinci bağımsız değişken referansların bir dizi olmasını gerektirmeden, bir genel ilk bağımsız değişken (static <T> void parallelSort(T[] a, Comparator<? super T> cmp)) gösterilmiştir. Integer[] bu gereksinimi karşılar, int[] ise bunu yapmaz.

+0

Burada sorunun bir kısmı Java'nın jenerikler ve şablonlar gibi çalışma sürelerini uyguladığı, bu yüzden nesnelerin gerekli olduğu ve int gibi yerel türlerin kullanılmadığı yönündedir. Bunu, şablonların derleme zamanında uygulandığı, bu sorunların ortadan kaldırıldığı ve yerel türlerle kullanılabileceği C++ ile karşılaştırın. – rcgldr

2

parallelSort imzası şöyledir: public static <T extends Comparable<? super T>> void parallelSort(T[] a) burada T, sınıflandırılacak bir obje sınıftır.

İlgili konular