2016-05-21 3 views
1

Mein Ziel ist es, eine ArrayList zu aufsteigender Größe zu sortieren. Ich habe diesen Code:Sortieren von Dateiobjekten aus einer ArrayList <File> mit Collections.sort und SizeFileComparator

Collections.sort(files, SizeFileComparator()); 

Oder sollte es sein:

Collections.sort(files, new SizeFileComparator()); 

Beide funktionieren nicht, und ich erhalte eine Fehlermeldung, dass SizeFileComparator() ist nicht eine vorhandene Klasse. Ich importiere java.io. *; und das ist der Link zu der API von SizeFileComparator: http://commons.apache.org/proper/commons-io/javadocs/api-release/index.html?org/apache/commons/io/comparator/package-summary.html

Ich nehme an, etwas ist falsch in der Art, wie ich die API implementieren.

Antwort

1

SizeFileComparator ist nicht unter java.io, es ist in org.apache.commons.io.comparator, und das ist, wo Sie es importieren müssen. Entweder explizit:

import org.apache.commons.io.comparator.SizeFileComparator; 

oder über eine Wildcard-Import:

import org.apache.commons.io.comparator.*; 

Egal, dann würden Sie auch sicher vornehmen müssen, dass die JAR es (einige Revision der commons-io.jar), die vorhanden ist, in deinem Klassenpfad.

Sobald Sie es richtig importieren, benötigen Sie eine Instanz, um es zu verwenden. Während Sie es direkt instanziieren können, ist es besser, eine der vordefinierten Konstanten zu verwenden:

Verwandte Themen