zoukankan      html  css  js  c++  java
  • 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);
        }
    
    }
  • 相关阅读:
    二维数组最大子数组算法
    寻找最大子数组
    最大值bug 调试
    多路电梯调度算法
    分析一个文本文件各个词出现的频率,并把频率最高的十个词打印出来。
    使用redis实现生产者消费者模式
    简单使用redis实现sso单点登录
    MongoDB批量导入及简单的性能优化
    mysql安装
    字符串操作性能优化
  • 原文地址:https://www.cnblogs.com/zwcry/p/9641895.html
Copyright © 2011-2022 走看看