Java 我们可以对列表进行排序吗<;T>;从Spring boot Pageable还是从PageImpl排序页面?

Java 我们可以对列表进行排序吗<;T>;从Spring boot Pageable还是从PageImpl排序页面?,java,spring-boot,sorting,java-8,pagination,Java,Spring Boot,Sorting,Java 8,Pagination,我有业务逻辑在Spring Boot中将列表转换为页面。 在该代码中,我的分页排序不会在输出中排序 是否有一种方法可以通过pageable或pageable.getSort()中的排序列表进行排序? 注意:我使用new PageImpl()将列表转换为页面* int start=(int)pageable.getOffset(); int end=(start+pageable.getPageSize())>List.size()?List.size():(start+pageable.get

我有业务逻辑在Spring Boot中将列表转换为页面。

在该代码中,我的分页排序不会在输出中排序

是否有一种方法可以通过pageable或pageable.getSort()中的排序列表进行排序?

  • 注意:我使用new PageImpl()将列表转换为页面*

    int start=(int)pageable.getOffset(); int end=(start+pageable.getPageSize())>List.size()?List.size():(start+pageable.getPageSize()); Page paginatedList=new PageImpl(floorsheetList.subList(开始,结束),可分页,列表.size())

我实际得到排序=真,但数据不会排序。

sort: {
sorted: true,
unsorted: false,
empty: false
}
更新

Turns out PageImpl cannot sort the data. So have to manually sort it via Collections or any other APIs.

使用pageImpl就像在新页面中设置变量一样,所以页面中的内容不会排序

您得到sorted=true,因为在pageable中设置了sort


如果要对页面中的内容进行排序,应在设置PageImpl之前使用Collections.sort对列表内容进行排序。

结果表明PageImpl无法对数据进行排序。因此必须通过集合或任何其他API手动对其排序。

谢谢。我错过了关于PageImpl不能做排序部分的文档。这是我的错误Spring数据直接支持
页面
,因此,如果您使用Spring数据从数据库检索对象列表,您可以重构该代码以直接返回一个
页面
,该页面将被排序。