提问者:小点点

有没有办法避免if else块中重复的方法调用?


我想改进这段代码以避免重复的方法调用。有没有办法解决这个问题??我不想每次在if else块中调用相同的方法updateIndicator和createErrorResponse方法。

if (e.getRawStatusCode() == NOT_FOUND) {
    String errorDetails = createNotFoundDetails(transactionId);
    updateIdentifier(identifier);
    return createErrorResponse(MISSING_VALID_TRANSACTION_ID_ERROR_MSG, errorDetails);
}
else if (e.getRawStatusCode() == UNAUTHORIZED) {
    updateIdentifier(identifier);
    if (responseHeaderValue.equals(TOKEN_EXPIRED) ) {
        return createErrorResponse(UNABLE_TO_REACH_SVC_PROVIDER_ERROR_MSG,
                                   INVALID_RESPONSE_FROM_SVC_PROVIDER_EXPIRED_TOKEN_ERROR_DETAILS);
    }
    return createErrorResponse(UNABLE_TO_REACH_SVC_PROVIDER_ERROR_MSG,
                               INVALID_RESPONSE_FROM_SVC_PROVIDER_INVALID_TOKEN_ERROR_DETAILS);
}
else {
    updateIdentifier(identifier);
    return createErrorResponse(UNABLE_TO_REACH_SVC_PROVIDER,
                               UNABLE_TO_REACH_SVC_PROVIDER_ERROR_DETAILS);
}

共1个答案

匿名用户

您可以在该类中创建一个公共静态方法。 例如

public static errorResponse method(identifier) {
    updateIdentifier(identifier);
    return createErrorResponse(
    UNABLE_TO_REACH_SVC_PROVIDER, UNABLE_TO_REACH_SVC_PROVIDER_ERROR_DETAILS);
}

并在代码中调用方法。