2014-01-25 74 views
3

無法對多維數組進行排序。Java Arrays.Sort(arr,comparator);不接受參數

static int ccheck[][] = new int[6*6*6][4]; 

    Comparator<Integer[]> comp = new Comparator<Integer[]>() { 
     @Override 
     public int compare(Integer[] t, Integer[] t1) { 
      Integer in1 = t[3]; 
      Integer in2 = t1[3]; 
      return in1.compareTo(in2);     
     } 
    }; 
    Arrays.sort(ccheck, comp); 

導致

error: java.lang.RuntimeException: Uncompilable source code - Erroneous sym type: java.util.Arrays.sort 
+8

的'INT []'不是'整數[]'。 –

+1

哎唷,謝謝:) – fwriteErr

回答

0

試着改變你的代碼:

static Integer ccheck[][] = new Integer[6*6*6][4]; 

    Comparator<Integer[]> comp = new Comparator<Integer[]>() { 
    @Override 
    public Integer compare(Integer[] t, Integer[] t1) { 
     Integer in1 = t[3]; 
     Integer in2 = t1[3]; 
     return in1.compareTo(in2);     
     } 
    }; 
    Arrays.sort(ccheck, comp); 
+4

我不認爲這會起作用。您需要改爲使用所有的'int'' Integer's。否則,你在'int'上調用'compareTo()'。 –

+1

這不會編譯 – user1428716