背景
项目中有个场景,需要将一个列表先按要求过滤,再根据某字段排序。图方便使用lambda表达式修改原列表将过滤和排序逻辑写到一行,打印输出列表发现过滤未生效。
代码示例:
List<Long> productIdList = Arrays.asList(1L);
List<ProductDTO> productDTOList = new ArrayList<>();
ProductDTO r1 = new ProductDTO();
r1.setProductId(4L);
r1.setPrice(100);
productDTOList.add(r1);
ProductDTO r2 = new ProductDTO();
r2.setProductId(1L);
r2.setPrice(20);
productDTOList.add(r2);
ProductDTO r3 = new ProductDTO();
r3.setProductId(1L);
r3.setPrice(100);
productDTOList.add