java使用Lambda做参数校验

使用Lambda做参数校验的实现方案,现在只需一行代码即可完成之前的校验、打印日志和抛出异常。

 

public class UtilsChecks {
    private static final Logger log = LoggerFactory.getLogger(UtilsChecks.class.getName());

    /**
     * 参数校验
     * @param booleanSupplier  条件:为true,执行。
     * @param errorMsg      打印错误日志,例:该记录不存在,ID为:{}。
     * @param returnMsg      返回信息,例:该记录不存在。
     * @param errorMsgParameter  需要打印的对象,例:id
   *
   * 例:UtilsChecks.parameterCheck(() -> StringUtils.isEmpty(userID), "该记录不存在,ID为:{}", "该记录不存在!",userID);
     */
    public static void parameterCheck(BooleanSupplier booleanSupplier, String errorMsg, String returnMsg, Object... errorMsgParameter) {
        if (booleanSupplier.getAsBoolean()) {
            log.error(errorMsg, errorMsgParameter);
            if (StringUtils.isNotBlank(returnMsg)) {
                throw new RuntimeException(returnMsg);
            }
        }
    }
}
posted @ 2025-04-09 16:51  杨飞只是太过正经  阅读(24)  评论(0)    收藏  举报