有什么方法可以在if else条件下分离这个“OR”(||)条件?

时间:2015-07-12 20:53:32

标签: java if-statement conditional-statements for-else

if(resellerContract.getStartDate() == null || 
                DateUtil.getDateInformat(DateUtil.YYY_MM_DD, resellerContract.getStartDate()).before(DateUtil.getDateInformat(DateUtil.YYY_MM_DD,new Date()))){
            validStartDate = false;
            logger.error("SPAC Start date is null");   
            validationErrors.add(new ValidationError(ResellerServiceErrorCode.SPAC_START_DATE_NULL));   
        }

我想对两种不同的条件进行单独验证如何使用if else或者是否应该使用if或者我应该使用什么,因为我想发送不同的错误消息

2 个答案:

答案 0 :(得分:1)

你不能只使用" elseif"声明?

像例如:

if(resellerContract.getStartDate() == null) {
      ....
            validStartDate = false;
            logger.error("SPAC Start date is null");   
            validationErrors.add(new ValidationError(ResellerServiceErrorCode.SPAC_START_DATE_NULL));
 } else if (DateUtil.getDateInformat(DateUtil.YYY_MM_DD, resellerContract.getStartDate()).before(DateUtil.getDateInformat(DateUtil.YYY_MM_DD,new Date()))){
      ....
            validStartDate = false;
            logger.error("SPAC Start date is null");   
            validationErrors.add(new ValidationError(ResellerServiceErrorCode.SPAC_START_DATE_NULL));   
}

答案 1 :(得分:0)

为什么不将复合if语句分成两个if语句?请澄清你的意图;我觉得我可能会给你一个简单的答案。

if (resellerContract.getStartDate() == null) {
    validStartDate = false;
    logger.error("SPAC Start date is null");   
    validationErrors.add(new ValidationError(ResellerServiceErrorCode.SPAC_START_DATE_NULL));   
}

if (DateUtil.getDateInformat(DateUtil.YYY_MM_DD, resellerContract.getStartDate())
            .before(DateUtil.getDateInformat(DateUtil.YYY_MM_DD,new Date()))) {
    //some other code
}