更新时间: 2022-07-27 02:32:09#stream流使用filter函数避免使用==判断等值参考 @Data @AllArgsConstructor static class Person2{ String name; Integer age; } List<Person2> list = new ArrayList<>(); list.add(new Person2("1", 1000000001)); list.add(new Person2("2", 1000000002)); list.add(new Person2("3", 1000000003)); list.add(new Person2("3", 4)); Integer vv = 1000000003; // 这里如果是int vv . 那就可以用== Integer vv2 = 4; // 而Integer中-128到127之外的值都是引用对象,所以==号无法判断相等,导致filter过滤后的值都没能录入,这里应当使用equals判断。 // List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, vv); Collection<Person2> collect = list.stream().filter(u -> u.getAge() == vv2) .collect(Collectors.toList()); System.out.println(collect);