zoukankan      html  css  js  c++  java
  • 摘抄003

    CheckParamAssert 类

    import org.springframework.util.ObjectUtils;
    import java.util.Objects;
    
    /**
     * 检查参数(对象)的断言工具,不满足条件则快速报错
     */
    public class CheckParamAssert {
    	public static void notEmpty(Object param, String errorMsg) {
    		if (ObjectUtils.isEmpty(param)) {
    			throw new CheckParamException(errorMsg);
    		}
    	}
    	public static void isTrue(Boolean condition, String errorMsg) {
    		if (!condition) {
    			throw new CheckParamException(errorMsg);
    		}
    	}
    }
    

    值得注意的是, ObjectUtils.isEmpty() 是导自org.springframework.util.ObjectUtils,几乎涵盖了所有的常见Java对象

    下面为这个方法isEmpty的主要代码:

    public static boolean isEmpty(@Nullable Object obj) {
            if (obj == null) {
                return true;
            } else if (obj instanceof Optional) {
                return !((Optional)obj).isPresent();
            } else if (obj instanceof CharSequence) {
                return ((CharSequence)obj).length() == 0;
            } else if (obj.getClass().isArray()) {
                return Array.getLength(obj) == 0;
            } else if (obj instanceof Collection) {
                return ((Collection)obj).isEmpty();
            } else {
                return obj instanceof Map ? ((Map)obj).isEmpty() : false;
            }
        }
    

    自定义异常类 CheckParamException

    import lombok.Data;
    import org.springframework.util.StringUtils;
    
    /**
     * 业务错误自定义异常类,code表示报错编码: 404、500、505之类的, 暂用不到
    */
    @Data
    public class CheckParamException extends RuntimeException {
    	private String message;
    	private String code;
    
    	public CheckParamException() {
    	}
    
    	public CheckParamException(String message) {
    		super(message);
    		this.message = message;
    	}
    
    	public CheckParamException(String code, String message) {
    		super( message);
    		this.message = message;
    		this.code = code;
    	}
    
    	public CheckParamException(Throwable cause, String message) {
    		super(message,cause);
    		this.message = message;
    	}
    
    	private void setErrorMessage(String errorMessage){
    		String errDesc = "";
    
    		if(StringUtils.isEmpty(errorMessage)){
    			this.message = errDesc;
    		}else{
    			this.message = errorMessage;
    		}
    	}
    }
    
  • 相关阅读:
    线程高级应用-心得2-同步锁讲解及面试题案例分析
    线程高级应用-心得1-传统线程和定时器讲解及案例分析
    Map拷贝 关于对象深拷贝 浅拷贝的问题
    HashMap对象的深层克隆
    java Collections.sort()实现List排序自定义方法
    java中观察者模式Observable和Observer
    mysql字符串函数(转载)
    CSS的三种样式表和优先级
    Android之微信支付
    Android之扫描二维码和根据输入信息生成名片二维码
  • 原文地址:https://www.cnblogs.com/zhazhaacmer/p/12210180.html
Copyright © 2011-2022 走看看