List<Map> 用Stream根据多字符串字段排序

List在添加.thenComparing后排序时会会显示为Object对象,从而get报错,解决方法如下,换成以下写法即可

finalList.stream()
                .sorted(
                        Comparator.comparing((Map<String, Object> i) -> i.get("product1").toString())
                                .thenComparing((Map<String, Object> i) -> i.get("product2").toString())
                                .thenComparing((Map<String, Object> i) -> i.get("product3").toString())
                )
                .collect(Collectors.toList());

你可能感兴趣的:(java,开发语言,Map,stream)