[guava]ComparisonChain

基本使用

ComparisonChain.start().compare(v1.getAge(), v2.getAge()).compare(v2.getName(), v1.getName()).result()

总结

public class Solution {

    @Data
    @AllArgsConstructor
    public static class User {
        private int age;
        private String name;
    }
    public static final Comparator<User> comparator = (v1, v2) ->  ComparisonChain.start().compare(v1.getAge(), v2.getAge()).compare(v2.getName(), v1.getName()).result();

    public static void main(String... arg) {
        User u1 = new User(1, "123");
        User u2 = new User(2, "234");
        User u3 = new User(2, "123");
        List<User> userList = Lists.newArrayList();
        userList.add(u1);
        userList.add(u2);
        userList.add(u3);

        Collections.sort(userList, comparator);
    }

}
posted @ 2021-01-25 22:33  正义的五毛  阅读(118)  评论(0)    收藏  举报