避免使用多个Not null语句



我有一个Converter类,用于将一个对象转换为另一个对象。我有多个if语句,检查一个值是否为null。现在,当单元测试时,这当然意味着,我需要测试每个if条件,尽管它非常简单。这里有一个简化的例子:

public OutputData convert(InputData input){
    final OutputData output = new OutputData();
    output.setName(input.getName());
    output.setCity(input.getCity());
    if(isNotEmpty(input.getObjects())){
        output.setMainObject(input.getObjects().get(0));
    }
    if(input.getType() != null){
        output.setType(input.getType());
    }
    if(input.getID() != null){
        output.setId(input.getID());
    }
    return output;
}

现在请记住,在我的真实项目中还有4到5个。那么,有什么方法可以避免它或确保它更容易测试呢?

您可以使用Optional,但正如@Seelenvirtualose所说,除非您避免覆盖某些默认值,否则您的null检查将阻止设置一个已经为null的值。

https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html

http://www.oracle.com/technetwork/articles/java/java8-optional-2175753.html

最新更新