我在下面的代码中通过声纳得到了例外。我怎么解决这个问题。建议我。
@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
答案 0 :(得分:6)
您可以检查infoObject的类型是否正确,并在不符合时对其进行适当处理:
if (!(infoObject instanceof AckTransferPaymentInfo)) {
throw new AssertionError("Unexpected type: " + infoObject);
}
AckTransferPaymentInfo ackTransferPaymentInfo = (AckTransferPaymentInfo) infoObject;
当infoObject为空时,您应该验证这是否符合要求。