私は条件文が少ないメソッドがあります。 if条件を追加して、NPEのクラッシュを避けることができます。 null以外のチェックを追加した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'を逆に2回確認します。 elseは、最初のif( 'product == null')と同じ条件です。 – AxelH
@AxelH no ...彼は製品を再び取得します – Selvin
@AxelHではなく、' product = getProduct(productId); 'というコールがありますヌルかヌルではない別の機会があります。 –