• java 断言工具类


    1.断言工具类

    package com.sze.redis.util;
    
    import java.util.Collection;
    import java.util.Map;
    
    import com.sze.redis.exception.SzwRunTimeException;
    
    /**
     * <br>类 名: AssertUtils 
     * <br>描 述: 断言 校验类
     * <br>作 者: shizhenwei
     * <br>版 本: v1.0.0 
     * <br>
     * <br>历 史: (版本) 作者 时间 注释
     */
    public class AssertUtils {
    
        /**
         * 判断是否为NULL
         * @param obj
         * @param label
         */
        public static void assertNotNull(Object obj, String label) {
            if(null == obj){
                throw new SzwRunTimeException(label + "不能为空");
            }
        }
        
        /**
         * 判断是否为空
         * @param obj
         * @param label
         */
        public static void assertNotEmpty(Object obj, String label) {
            if(null != obj){
                if(obj instanceof String){
                    String string = (String) obj;
                    if("".equals(string.trim())){
                        throw new SzwRunTimeException(label + "不能为空");
                    }
                }else if(obj.getClass().isArray()){
                    if(((Object[])obj).length<1){
                        throw new SzwRunTimeException(label + "不能为空");
                    }
                }else if(obj instanceof Collection){
                    if(((Collection<?>)obj).size()<1){
                        throw new SzwRunTimeException(label + "不能为空");
                    }
                }else if(obj instanceof Map){
                    if(((Map<?, ?>)obj).size()<1){
                        throw new SzwRunTimeException(label + "不能为空");
                    }
                }
            }else{
                throw new SzwRunTimeException(label + "不能为NULL");
            }
        }
        
        
        
        /**
         * 判断数组不能为空
         * @param array
         * @param label
         */
        public static <T> void assertArrayNotEmpty(T[] array, String label){
            if(null!=array){
                if(array.length<1){
                    throw new SzwRunTimeException(label + "不能为空");
                }
            }else{
                throw new SzwRunTimeException(label + "不能为NULL");
            }
        }
        
        /**
         * 判断集合不能为空
         * @param array
         * @param label
         */
        public static <T> void assertCollectionNotEmpty(Collection<T> collection, String label){
            if(null!=collection){
                if(collection.size()<1){
                    throw new SzwRunTimeException(label + "不能为空");
                }
            }else{
                throw new SzwRunTimeException(label + "不能为NULL");
            }
        }
        
        /**
         * 判断Map不能为空
         * @param array
         * @param label
         */
        public static <E, T> void assertMapNotEmpty(Map<E, T> map, String label) {
            if(null!=map){
                if(map.size()<1){
                    throw new SzwRunTimeException(label + "不能为空");
                }
            }else{
                throw new SzwRunTimeException(label + "不能为NULL");
            }
        }
    }

    2.自定义异常类

    package com.sze.redis.exception;
    
    public class SzwRunTimeException extends RuntimeException{
    
        /** **/
        private static final long serialVersionUID = 8924997566380919394L;
    
        public SzwRunTimeException() {
            super();
        }
    
        public SzwRunTimeException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) {
            super(message, cause, enableSuppression, writableStackTrace);
        }
    
        public SzwRunTimeException(String message, Throwable cause) {
            super(message, cause);
        }
    
        public SzwRunTimeException(String message) {
            super(message);
        }
    
        public SzwRunTimeException(Throwable cause) {
            super(cause);
        }
    
    }
  • 相关阅读:
    不用循如何计算数组累加和
    mysql通过binlog恢复删除数据
    windows下打开binlog
    mysql的binlog
    枚举实现线程池单例
    AtomicInteger的CAS算法浅析
    不用循环如何计算1累加到100
    MongoDB查询报错:class com.mongodb.MongoSecurityException: Exception authenticating MongoCredential
    Senparc.Weixin微信开发(3) 自定义菜单与获取用户组
    Senparc.Weixin微信开发(2) 消息机制和上下文(Session)
  • 原文地址:https://www.cnblogs.com/zwcry/p/9641895.html
Copyright © 2020-2023  润新知