代码之家  ›  专栏  ›  技术社区  ›  Mike

如何检查列表以查看元素是否存在?[副本]

  •  -1
  • Mike  · 技术社区  · 7 年前

    List<String> messageCodes = this.getEmailValidationCode( eSignatureInTO );
    
        if( messageCodes.contains( "ES01" ) ) {
                    IESignatureIntegrationOutDto eSignatureOutTO = getEsignService().resendDocuments( eSignatureInTO );
                    eSignatureInTO.setResendDocs( eSignatureOutTO.isResendDocs() );
    
        } else if( messageCodes.contains( "EE01" ) ) {
                    emailValidationMessage = UiIntegrationKeyConstants.EMAIL_FORMAT_ERROR_MESSAGE;
    
        } else if( messageCodes.contains( Arrays.asList( "ES02", "ES03", "ES04", "EE02", "EE03", "EE04" ) ) ) {
                    emailValidationMessage = UiIntegrationKeyConstants.EMAIL_VALIDATION_ERROR_MESSAGE;
    
        } else {
                    emailValidationMessage = UiIntegrationKeyConstants.EMAIL_VALIDATION_MESSAGE;
    }
    

    3 回复  |  直到 7 年前
        1
  •  2
  •   AJNeufeld    7 年前

    更改contains表达式:

    List<String> messageCodes = this.getEmailValidationCode( eSignatureInTO );
    
    if( messageCodes.contains( "ES01" ) ) {
        IESignatureIntegrationOutDto eSignatureOutTO = getEsignService().resendDocuments( eSignatureInTO );
        eSignatureInTO.setResendDocs( eSignatureOutTO.isResendDocs() );
    } else if( messageCodes.contains( "EE01" ) ) {
        emailValidationMessage = UiIntegrationKeyConstants.EMAIL_FORMAT_ERROR_MESSAGE;
    } else if( !Collections.disjoint(messageCodes,Arrays.asList( "ES02", "ES03", "ES04", "EE02", "EE03", "EE04" ) ) ) {
        emailValidationMessage = UiIntegrationKeyConstants.EMAIL_VALIDATION_ERROR_MESSAGE;
    } else {
        emailValidationMessage = UiIntegrationKeyConstants.EMAIL_VALIDATION_MESSAGE;
    }
    

    Collections.disjoint 充当“包含任何”比较。这样,如果存在一个或多个错误代码,它将进入if子句。

        2
  •  1
  •   Naman    7 年前

    所以如果代码是ES03或ES04或其中任何一个,我想

    你不应该做这样的事情吗

    if( messageCodes.contains("ES03") || messageCodes.contains("ES04")) { 
          emailValidationMessage = "whatever your value should be";
    }
    
        3
  •  1
  •   mjuarez    7 年前

    在第二个if中,你问是否有 列表 存储在字符串数组中。那行不通。你应该做一个 .contains