现在有一个长整型的数组,想根据大小排序,但是出来后的结果不是想要的,请问这是怎么回事呢?
public static void main(String[] args) {
List<Long> list = new ArrayList<>();
list.add(20241021000159L);
list.add(20211020000258L);
list.add(20231021000159L);
list.add(20220211160441L);
list.add(20211029080608L);
list.sort((a, b) -> a.compareTo(b)); // 你的写法
list.forEach(System.out::println);
list.sort(Long::compareTo); // lambda写法
list.forEach(System.out::println);
List<Long> result = list.stream().sorted(Long::compareTo).collect(Collectors.toList()); // stream
result.forEach(System.out::println);
}
差值由long强转int出问题了;换个写法
o1 == o2 ? 0 : o1 > 02 ? 1: -1;