• 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);
        }
    
    }
  • 相关阅读:
    [转][c#]C# 二维数组到底该如何定义?
    [c++]筛法求素数
    USB驱动问题
    使用Ajax.dll前台调用后台方法及错误示例
    asp.net中前台javascript与后台C#交互
    visual stdio2010 生成的缓存文件
    jQuery.ajax概述[转]
    一种正向最小匹配的中文分词算法
    2010 .NET面试题整理之基础篇[转]
    Winform设计不规则窗体
  • 原文地址:https://www.cnblogs.com/zwcry/p/9641895.html
Copyright © 2020-2023  润新知