2016-03-30 12 views
0

Ich habe ein kleines Problem mit meinem Programm in Java. Ich muss das String-Array abhängig von der ersten Spalte alphabetisch sortieren. Aber ich bekomme einen seltsamen Fehler. So, hier ist der Code:Java Sortierung 2d talble Fehler mit Arrays.sort()

import java.io.IOException; 
import java.util.Arrays; 
import java.util.Comparator; 

public class Main { 

    public static void main(String[] args) throws IOException { 

     String[][] Dictionary= new String[10][2]; 
     Dictionary[0][0]="a"; 
     Dictionary[0][1]="5"; 
     Dictionary[1][0]="c"; 
     Dictionary[1][1]="6"; 
     Dictionary[2][0]="b"; 
     Dictionary[2][1]="2"; 
     Dictionary[3][0]="f"; 
     Dictionary[3][1]="8"; 
     Dictionary[4][0]="z"; 
     Dictionary[4][1]="9"; //the rest is empty 

           //i want it to be like this: 

           //   a-5 
           //   b-2 
           //   c-6 
           //   f-8 
           //   z-9 
           //   null-null 
           //   null-null 
           //   . 
           //   . 
           //   . 

     Arrays.sort(Dictionary, new Comparator<String[]>() {   //<------ 
       public int compare(final String[] entry1, final String[] entry2) { 
        final String time1 = entry1[0]; 
        final String time2 = entry2[0]; 
        return time1.compareTo(time2); 
       } 
      }); 

    } 


} 

so an der Linie, wo ich die < setzen ---- Ich erhalte diese 2 Fehler:

  1. Der Typ Komparator ist nicht generisch; es kann nicht mit Argumenten parametriert sind

2.Syntax Fehler, parametrisierte Typen nur verfügbar, wenn Quelle Ebene 5.0

ist, ich bin nicht wirklich sicher, wie der Komparator Ding funktioniert fand ich es es online ein wenig verändert und seine das Beste, was ich daraus machen konnte, aber es funktioniert immer noch nicht. Jeder hat irgendwelche Ideen!?

+1

Es sieht aus wie Sie versuchen, diese von Java mit einer alten Version zu kompilieren. Überprüfen Sie das Sprachniveau, das Sie in Ihrer IDE verwenden. –

+0

Wie mache ich das? –

+0

Welche IDE verwenden Sie? –

Antwort

0

für die Java-Fehlerprüfung: Changing the Java compiler version Sie müssen die Sortiermethode ändern, so sein null zu akzeptieren:

Arrays.sort(Dictionary, new Comparator<String[]>() { // <------ 
       public int compare(final String[] entry1, final String[] entry2) { 
        final String time1 = entry1[0]; 
        final String time2 = entry2[0]; 
        if (time1 == null) { 
         return 1; 
        } else if (time2 == null) { 
         return -1; 
        } 
        return time1.compareTo(time2); 
       } 
      }); 
+0

Ich tat das, aber es hat es nicht behoben .. immer noch die gleichen Fehler .. –

+0

http://StackOverflow.com/Questions/2540548/How-Do--Get-Eclipse-To-use-a-Different-Compiler -version-für-Java –