1

Comparatorのカスタムを使用したいTreeMultiSet。これが私がすることです:

public static class OccurenceComparator implements Comparator<Multiset.Entry<String>>{
    @Override
    public int compare(Multiset.Entry<String> e1, Multiset.Entry<String> e2) {
        return e2.getCount() - e1.getCount() ;
    }
}

public static void main(String args[]) throws Exception{
    Comparator<Multiset.Entry<String>> occurenceComparator = new OccurenceComparator();
    Multiset<String> treeMultiSet = TreeMultiset.create(occurenceComparator);
}

これが私が得るものです:

未解決のコンパイルの問題:create(Comparator<? super E>)型のメソッドTreeMultisetは引数に適用できません (Comparator<Multiset.Entry<String>>)

私は困惑しています

4

1 に答える 1

5

あなたのマルチセットはですMultiset<String>、それであなたのコンパレータはStringsを比較するべきではありませんか?それはコンパイラが期待するもののようです。

public static class OccurenceComparator implements Comparator<String>{
于 2013-01-11T02:52:00.220 に答える