【发布时间】:2019-08-10 21:47:15
【问题描述】:
我有这个实体列表:
@Entity
@Table(name = "filters")
public class Filters {
private String filter_settings;
private Integer position;
}
列表:
List<RiskFilters> filter_list
我有简单的“位置”数字 - 1、2、3 等。
如何根据“位置”编号对“过滤器”列表进行排序?
我试过了:
List<RiskFilters> sorted_filter_list = Collections.sort(filter_list, Comparator.comparingInt(RiskFilters::getPosition));
但我得到 Type mismatch: cannot convert from void to List
有没有办法解决这个问题?
【问题讨论】:
-
你实例化了
filter_list吗? -
Collections.sort()不返回值。它实际上对传递给它的 List 进行了变异(排序)。只需运行该方法即可对其进行排序。 -
你能提出一些解决方案吗?
-
@PeterPenzov 只需编写 `Collections.sort(filter_list, Comparator.comparingInt(RiskFilters::getPosition));` 对列表进行排序。只要它已经被实例化,List 现在就会被排序。
-
@KellyM 好的,但我需要从旧列表中创建一个新的排序列表。
标签: java