Sammlungen Sortieren nicht akzeptiert wird von Eclipse

    import java.io.BufferedReader;
    import java.util.Collections;
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.Comparator;
    import java.util.Date;
    import java.util.List;
    import com.javaranch.common.TextFileIn;

    public class SortNames 
    {
        public static class CelebrityNamesFile
        {
            public String firstName;
            public String lastName;

            public static class CompareLastName implements Comparator< CelebrityNamesFile >
            {
                @Override
                public int compare( CelebrityNamesFile o1,  CelebrityNamesFile o2 )
                {
                    return o2.lastName.compareTo( o1.lastName );
                }
            }

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

            ArrayList< CelebrityNamesFile > myCelebrityList;
            myCelebrityList = new ArrayList< CelebrityNamesFile >();

            TextFileIn celebrityNamesFile = new TextFileIn( "celebrityNamesFile.txt" );
            boolean doneReadingCelebrityNames = false;
            while ( ! doneReadingCelebrityNames )
            {
                 String oneName = celebrityNamesFile.readLine();
                 if ( oneName == null )
                 {
                     doneReadingCelebrityNames = true;
                 }

$
Eclipse ist nicht wie die add-Anweisung, die folgt, nämlich: Die Methode add (SortNames.CelebrityNamesFile) in den Typ ArrayList(SortNames.CelebrityNamesFile)gilt nicht für die Argumente (String)

                 else
                 {
                     myCelebrityList.add( oneName );
                 }
            }
            celebrityNamesFile.close();

$
Und dann ist es auch nicht, wie meine Art Anweisung, nämlich:
Gebunden mismatch: Die generische Methode sort(List T), Typ-Sammlungen ist nicht anwendbar für die Argumente (ArrayList (SortNames.CelebrityNamesFile)). Der abgeleitete Typ SortNames.CelebrityNamesFile ist kein Gültiger Ersatz für die begrenzten parameter (T extends Vergleichbar? super-T))

            Collections.sort( myCelebrityList );
            System.out.println( myCelebrityList );

            Collections.sort( myCelebrityList, new CelebrityNamesFile.CompareLastName() );
            System.out.println( myCelebrityList );
}
}

}

Was mache ich falsch? Ich habe gelesen, dass viele Beiträge hier gelesen haben, die Java-docs in Bezug Komparator, gelesen haben Java-tutorials in Bezug auf Komparator. Head First Java Ivor Horton ' s beginning Java 7. Immer noch ahnungslos.

Den Zweck des Programms zu Lesen ist, Namen aus einer txt-Datei, fügen Sie Sie zur arraylist, drucken Sie die arraylist in Ihrer natürlichen Reihenfolge Sortieren der arraylist per Nachname, drucken Sie die Liste erneut.

Anstelle von Prosa-Kommentar unterbrechen, indem Sie Ihren code verwenden, sollten Sie einen einzelnen block der richtig code kopieren-einfügen in eine IDE, und zeigen Sie die wichtigen Zeilen mit Kommentaren. (Außerdem schreiben die imports, Sie nur obecure den code.) Wenn Sie längere Prosa, beziehen sich auf die Zeilen, die Sie darauf hingewiesen zuvor.

InformationsquelleAutor Armando Moncada | 2012-07-18

Schreibe einen Kommentar