游戏开发踩坑大全
- linux时编写shell脚本变量赋值时=号两边不能有空格 PACK_NAME=`ls -lt ResourcesLinks/android/resources_links* | head -n 1 | awk '{print $9}'正确 PACK_NAME = `ls -lt ResourcesLinks/android/resources_links* | head -n 1 | awk '{print $9}'错误
- 千万别使用yum -y install java-1.8.0-openjdk*,安装openjdk,和jdk完全不同,神坑记录
- yum -y install java-1.8.0-openjdk*千万别下openjdk,坑死我了
- java8比较器的使用多条件比较,不推荐使用reversed()倒序方法
1.错误使用方法
- 多次使用reversed()方法时,第2个reversed()会将之前的数据再次颠倒
- 多次使用reversed()方法时,第2个reversed()会将之前的数据再次颠倒
List<User> collect = list.stream().sorted(Comparator
.comparing(User::getScoreA).reversed()
.thenComparing(User::getScoreB).reversed()
).collect(Collectors.toList());
2.正确使用方法
- 直接将reversed()放到最后一个条件,前面的排序都将倒序排列
List<User> collect = list.stream().sorted(Comparator
.comparing(User::getScoreA)
.thenComparing(User::getScoreB).reversed()
).collect(Collectors.toList());
3.推荐使用方法
- 如果某些条件正序,某些条件反序,推荐转换值为负数进行排序,例如使用负值替换需要reversed()反序排序的条件
List<User> collect = list.stream().sorted(Comparator .comparing(User::getScoreA) .thenComparing((User u)->-u.getScoreB()) ).collect(Collectors.toList());