如何解决狡猾:声纳中未经检查/未经证实的演员?

时间:2012-08-22 06:35:43

标签: java eclipse exception sonarqube findbugs

我在下面的代码中通过声纳得到了例外。我怎么解决这个问题。建议我。

    @Override 
     public boolean validate(BaseInfo infoObject) { 
     boolean isValid = true; 
     AckTransferPaymentInfo ackTransferPaymentInfo = (AckTransferPaymentInfo) infoObject; 

狡猾 - 未经检查/未经证实的演员 未经检查/未经证实,从com.vocalink.acsw.common.validation.info.BaseInfo转换为com.vocalink.acsw.validation.rule.T170Rule.validate(BaseInfo)中的com.vocalink.acsw.common.validation.info.AckTransferPaymentInfo < / p>

AckTransferPaymentElement payment = ackTransferPaymentInfo.getTransferPayment();  
if(CreditDebitIndicator.CRDT.equals(ackTransferPaymentInfo.getCreditDebitIndicator()) 
&& ackTransferPaymentInfo.getOriginalPaymentAccount().getAccountName() != null 

1 个答案:

答案 0 :(得分:6)

您可以检查infoObject的类型是否正确,并在不符合时对其进行适当处理:

if (!(infoObject instanceof AckTransferPaymentInfo)) {
    throw new AssertionError("Unexpected type: " + infoObject);
}
AckTransferPaymentInfo ackTransferPaymentInfo = (AckTransferPaymentInfo) infoObject;

当infoObject为空时,您应该验证这是否符合要求。