Java对list集合中元素某个字段进⾏排序
* 排序集合
*
* @param list    要排序的集合
* @param orderBy 根据哪⼀个字段排序
* @param sort    asc desc
*/
public static <T> void sortedByParam(List<T> list, String orderBy, String sort) {
if (StringUtils.isEmpty(orderBy)) {
return;
}
/
/ 1.获取指定字段的get⽅法名
String methodName = "get" + UpperCase().substring(0, 1).toUpperCase() + orderBy.substring(1);
list.sort((o1, o2) -> {
java集合排序怎么实现
int ret = 0;
// 2.获取⽅法
try {
Comparable rs1 = (Comparable) MethodUtils.invokeMethod(o1, methodName);
Comparable rs2 = (Comparable) MethodUtils.invokeMethod(o2, methodName);
if (rs1 != null && rs2 != null) {
ret = "desc".equals(sort) ? rs2pareTo(rs1) : rs1pareTo(rs2);
}
} catch (ReflectiveOperationException e) {
<("反射错误:sortedByParam-orderBy:[{}],sortedByParam-sort:[{}],orderSelect --> [{}],list-->[{}]", orderBy, sort, list, e);                ret = 0;
}
return ret;
});
}```

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。