複数のコンパレータを 1 つに結合するヘルプ メソッドを作成しました。
public static <T> Comparator<T> createComparatorChain( final Comparator<T>... comparators )
{
return new Comparator<T>()
{
public int compare( T lhs, T rhs )
{
for( Comparator<T> comparator : comparators )
{
int order = comparator.compare( lhs, rhs );
if( order != 0 )
{
return order;
}
}
return 0;
}
};
}
しかし、この方法を使用すると、チェックされていない警告が表示されます。
Collections.<File>sort( list, ComparatorUtils.<File>createComparatorChain( BY_FILE_DIRECTORY, BY_FILE_NAME ) );
型の安全性: Comparator のジェネリック配列が varargs パラメーター用に作成されます。
一般的な構文に何か問題がありますか? 誰でも私を助けることができますか?