2016-05-21 3 views
1

私の目標は、ArrayListを昇順のサイズにソートすることです。ArrayLlistからファイルオブジェクトをソートするCollections.sortとSizeFileComparatorを使用する

Collections.sort(files, SizeFileComparator()); 

それとも、それは次のようになります:

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

彼らの両方が動作しない、と私はSizeFileComparator()は既存のクラスではないというエラーが出る 私はこのコードを持っています。 java.io. *をインポートしています。これはSizeFileComparatorのAPIへのリンクです。 http://commons.apache.org/proper/commons-io/javadocs/api-release/index.html?org/apache/commons/io/comparator/package-summary.html

私はAPIを実装する方法が間違っていると思います。

答えて

1

SizeFileComparatorjava.ioではありません。それはorg.apache.commons.io.comparatorです。ここからインポートする必要があります。明示的に:

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

またはワイルドカードのインポート経由:

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

に関係なく、あなたもそれを含むJAR(コモンズ-io.jarの一部改正)が存在することを確認する必要があると思いますあなたのクラスパスで。

正しくインポートしたら、そのインスタンスを使用する必要があります。それを直接インスタンス化することはできますが、定義済みの定数の1つを使用する方が良いでしょう:

Collections.sort(files, SizeFileComparator.SIZE_COMPARATOR); 
関連する問題