1

次の行でコンパイラ エラーが発生します。

Collections.sort(terms, new QuerySorter_TFmaxIDF(myInteger));

私のカスタマイズした Comparator はかなり基本的なものです。署名とコンストラクターは次のとおりです。

public class QuerySorter_TFmaxIDF implements Comparator<Term>{  
private int numberOfDocs;
QuerySorter_TFmaxIDF(int n){
    super();
    numberOfDocs = n;
}

}

Comparator に引数を渡しているためにエラーが発生していますか? 引数を渡す必要があります...

4

3 に答える 3

2

そのコンストラクターに引数を渡せない理由はありません。コードがありません:

  1. スーパークラス。あなたのコンストラクターが呼び出すのでsuper()、あると思います。と

  2. インターフェイスcompare()が必要とするメソッド。Comparator

ここで何numberOfDocsをするつもりですか?

于 2010-04-17T22:29:10.860 に答える
1

ArrayList には文字列が含まれているため、Comparator は文字列を比較する必要があります。

public class QuerySorter_TFmaxIDF implements Comparator<Term> {  

である必要があります

public class QuerySorter_TFmaxIDF implements Comparator<String> {  
于 2010-04-17T23:41:28.837 に答える
0

問題はコンパレータにあります。Term-s をソートするためのものですが、 Collections.sort() メソッドを介して渡す配列には String 型の要素が含まれています。

于 2010-04-17T23:44:33.817 に答える