我有一个很少有条件语句的方法。我添加了if条件,以便避免我的NPE崩溃。有什么办法可以简化添加了非空检查的条件?简化条件语句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'。该否则是相同的条件第一,如果('产品== null') – AxelH
@AxelH没有......他获得的产品再次 – Selvin
不完全@AxelH,有一个叫'产品= getProduct(productId参数);'所以它有另一个机会是空或不空。 –