Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java AssertJ:如果列表按相反顺序或降序排序,则断言_Java_List_Sorting_Assertj - Fatal编程技术网

Java AssertJ:如果列表按相反顺序或降序排序,则断言

Java AssertJ:如果列表按相反顺序或降序排序,则断言,java,list,sorting,assertj,Java,List,Sorting,Assertj,我正在使用AssertJ进行测试,我注意到有一种方法可以检查列表是否已排序: public static <T> void sorted(final List<T> actual) { try { assertThat(actual).isSorted(); } catch (AssertionError e) { LOGGER.error(e.getMessage(), e); throw e; }

我正在使用AssertJ进行测试,我注意到有一种方法可以检查
列表
是否已排序:

public static <T> void sorted(final List<T> actual) {
    try {
        assertThat(actual).isSorted();
    } catch (AssertionError e) {
        LOGGER.error(e.getMessage(), e);
        throw e;
    }
}

对。还有一种方法需要

您需要将泛型类型参数更改为
,即具有自然顺序的类型。然后,
Comparator.reverseOrder()
可以说,它应该是其自然顺序的反向。如果没有该约束,您将尝试反转某些未知/未指定的顺序,这将导致编译器错误

public static <T extends Comparable<T>> void sorted(final List<T> actual) {
    try {
        assertThat(actual).isSortedAccordingTo(Comparator.reverseOrder());
    } catch (AssertionError e) {
        LOGGER.error(e.getMessage(), e);
        throw e;
    }
}
已排序的公共静态无效(最终列表实际){
试一试{
断言(实际).IsSortedAccording(Comparator.reverseOrder());
}捕获(断言错误){
LOGGER.error(e.getMessage(),e);
投掷e;
}
}
public static <T extends Comparable<T>> void sorted(final List<T> actual) {
    try {
        assertThat(actual).isSortedAccordingTo(Comparator.reverseOrder());
    } catch (AssertionError e) {
        LOGGER.error(e.getMessage(), e);
        throw e;
    }
}