一个List对象列表根据Date逆序排序
直接采用sort方法,传的comparable对象用lambda表达式代替
list.sort(((o1, o2) -> {
Date date1 = (Date) o1.get("createTime");
Date date2 = (Date) o2.get("createTime");
return date1.compareTo(date2) > -1 ? -1 : 1;
}));
compareTo方法意思是,左边比右边小返回-1,相等返回0,更大返回1。
date1比date2小(距离当前时间远)返回-1,现在用三目运算反过来返回出去。
分页取第三方接口判断最后一页技巧
1、当前取到的条数是否少于每页条数。
2、如果有总条数,判断pageNo*pageSize是否大于总条数,如果是则为最后一页。
同步第三方接口数据注意
1、注意接口访问次数限制,必要时线程取一次休眠一段时间。
2、如果明确返回接口访问次数超限,则采取相应措施再次调用,比如按要求休眠1分钟等。不要因为超限而终止程序。
取到数据之后需要注意
1、务必仔细对response数据判空,必要时按错误码分别判空,谨防NPE异常。
2、由于大多数接口都有accessToken的失效限制,所以,务必在每次接口返回后单独对token失效的错误码做判断,然后再调用一次刷新token的接口。注意取到最新accessToken之后,先保存数据库,再访问一次业务接口!
存储到数据库之前
1、必须验证合法性!
2、必须考虑历史原因,新数据是否会对已有生产环境运行造成影响。