有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在方法的参数中进行空检查?

x = setDetailsFromSegment(getDetails.getProductList().getProductDetails().get(0).getItinerary().getOriginDestinationList(),
                          getDetailsResponse.getProductDetailsList().getProductDetails().get(0).getFareList());

这里setDetailsFromSegment()是我的方法,我想在使用java 8调用该方法之前检查参数是否为null


共 (1) 个答案

  1. # 1 楼答案

    如果可能的话,你应该避免空检查的必要性

    如果你能改变getOriginDestinationList()getFareList(),你应该让它们返回Collections.emptyList()。如果没有返回列表,则可以考虑使用java.util.Optional。但要注意在哪里使用和可选,在哪里不使用。参见示例Should Java 8 getters return optional type?

    如果无法更改方法的返回值,则必须在调用方法之前执行检查Objects.requireNotNull()在这里可能会有帮助

    除此之外,您的代码还有一个问题,因为方法链接过多。您可能需要检查每个方法的返回值。而且很难阅读。我不会用“x”作为变量名;-)