Tôi có một danh sách các đối tượng với hai String
lĩnh vực nhưDòng Java 8 - Làm cách nào để thao tác giá trị trong một nhóm theo kết quả?
Name1, Active
Name2, InActive
Name3, InActive
Name4, Active
Và tôi muốn có một
Map<Boolean, List<String>>
nơi Active = true và không hoạt động = false.
tôi đã cố gắng
active = dualFields.stream().collect(
Collectors.groupingBy(
x -> StringUtils.equals(x.getPropertyValue(), "Active")));
Nhưng tôi nhận
Map<Boolean, List<DualField>>
Mã này trở nên dễ đọc hơn bằng cách thay thế ' StringUtils.equals (x.getPropertyValue(), "Active") 'với' x.getPropertyValue(). Bằng ("Active") 'hoặc, nếu xử lý' null' là mong muốn, '" Active ".equals (x.getPropertyValue)()) '... Cũng có phương thức API chuẩn' Objects.equals' xử lý 'null', vì vậy trong cả hai trường hợp, không cần thư viện của bên thứ ba cung cấp các phương thức dự phòng như' StringUtils.equals'… – Holger