参考自:https://zhidao.baidu.com/question/1964356639513098220.html
public static void main(String[] args) {
List<Object> list = new ArrayList<>();
list.add(1);
list.add("2");
list.add("b");
list.add("a");
list.add(1.5D);
System.out.println("开始值:" + list);
list.sort(getComparator());
System.out.println("排序后值:" + list);
}
/**
* 比较逻辑实现
*
* @return
*/
public static Comparator<Object> getComparator() {
return new Comparator<Object>() {
// 需要重写此方法,在该方法类指定比较方式
@Override
public int compare(Object o1, Object o2) {
// 此示例中可以把所有元素都转换为String类型后再比较,其它类型请自行编码
String val1 = String.valueOf(o1);
String val2 = String.valueOf(o2);
return Integer.compare(val1.compareTo(val2), 0);
}
};
}