몇 가지 조건문이있는 메소드가 있습니다. 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'을 두 번 확인하십시오. else는 첫 번째와 동일한 조건입니다. ('product == null') – AxelH
@AxelH no ... 그는 제품을 다시 얻습니다. – Selvin
정확히 @AxelH 인 경우,'product = getProduct (productId);'라는 호출이 있습니다. null 또는 null이 아닌 또 다른 기회가 있습니다. –