AckTransferPaymentInfo

AckTransferPaymentInfo

我在下面的代码中通过声纳获取异常。我该如何解决。建议我。

    @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的未经检查/未经确认的转换

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

最佳答案

您可以检查infoObject的类型是否正确,并在不正确的情况下进行适当的处​​理:

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


当infoObject为null时,您应该验证此操作是否符合您的要求。

10-08 13:00