У меня есть метод с несколькими условными операторами. Я добавил условия if, чтобы избежать аварии NPE. Есть ли способ упростить условия if, в которых я добавил ненулевую проверку?Упрощение условного оператора android
private void addComplementaryProductToBasket(String productId, String comboName) {
Product product = ProductComboUtils.getProductById(productId);
if (null == product) {
LOG.info("Product does not exist in ProductComboUtils, fetching from DB");
product = getProduct(productId);
}
if (product != null){
product.setPrice(BigDecimal.ZERO);
product.setCurrencyCode(currentBasket.getCurrencyCode());
// Ensure to add comboName with purchase, this
currentBasket.addToPurchase(product, comboName);
int numberOfComplementaryProducts =
currentBasket.getPurchaseLineItemForProduct(product.getProductId()).getNumberOfComplementaryProducts();
currentBasket.getPurchaseLineItemForProduct(product.getProductId()).setNumberOfComplementaryProducts(
++numberOfComplementaryProducts);
}else
{
CrashUtil.logNonFatalException("Product instance is null for productId: " + productId);
}
}
Вы проверяете дважды противоположную вещь 'product == null' и' product! = Null'. Else - это то же условие, что и первое, если ('product == null') – AxelH
@AxelH нет ... он снова получает продукт – Selvin
Не совсем @AxelH, есть вызов' product = getProduct (productId); 'so у него есть еще один шанс быть нулевым или непустым. –