【问题标题】:Lombok builder - ignore objects with null valueLombok builder - 忽略具有空值的对象
【发布时间】:2022-06-17 12:34:41
【问题描述】:

我使用 Lombok @Builder 的第一步。

所以我从外部服务(内部 10 辆汽车)接收 ExternalVehicles 对象。

public class CarConverter {

    private Car convertToCar(ExternalVehicles vehicles) {

        return Car.builder()
                .plateNumber(getPlateNumberFromObjectNestedInExternalVehicles("plateNumber"))
                .brand(getBrandFromObjectNestedInExternalVehicles("brand"))
                .build();
    }
}

对于一辆车,在 plateNumber 字段中接收到 null。 所以我想忽略这辆车,只转换9。

我该怎么做?

【问题讨论】:

  • 听起来应该通过过滤ExternalVehicles中的对象来完成,而不是由构建器完成。
  • 谢谢@Chaosfire 我会这样做的。

标签: java lombok


【解决方案1】:

有很多事情要提:

  1. 您可以在转换前过滤汽车
externalCars.stream()
     .filter(car -> Objects.nonNull() && isCarValid())
     .map(CarConverter::convertToCar)
     .collect(Collectors.toSet())
  1. 您可以在转换方法中进行一些检查,然后进行过滤
public class CarConverter {

    private Car convertToCar(ExternalVehicles vehicles) {
        if (vehicles == null || getPlateNumberFromObjectNestedInExternalVehicles("plateNumber") == null)

        return Car.builder()
                .plateNumber(getPlateNumberFromObjectNestedInExternalVehicles("plateNumber"))
                .brand(getBrandFromObjectNestedInExternalVehicles("brand"))
                .build();
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多