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);
}
}
java 断言工具类的更多相关文章
- java编程中的断言工具类(org.springframework.util.Assert)
转自:https://blog.csdn.net/gokeiryou263/article/details/19612471 断言工具类:Assert类, java.lang.Object ---&g ...
- Java Properties工具类详解
1.Java Properties工具类位于java.util.Properties,该工具类的使用极其简单方便.首先该类是继承自 Hashtable<Object,Object> 这就奠 ...
- Java json工具类,jackson工具类,ObjectMapper工具类
Java json工具类,jackson工具类,ObjectMapper工具类 >>>>>>>>>>>>>>> ...
- Java日期工具类,Java时间工具类,Java时间格式化
Java日期工具类,Java时间工具类,Java时间格式化 >>>>>>>>>>>>>>>>>&g ...
- Java并发工具类 - CountDownLatch
Java并发工具类 - CountDownLatch 1.简介 CountDownLatch是Java1.5之后引入的Java并发工具类,放在java.util.concurrent包下面 http: ...
- MinerUtil.java 爬虫工具类
MinerUtil.java 爬虫工具类 package com.iteye.injavawetrust.miner; import java.io.File; import java.io.File ...
- MinerDB.java 数据库工具类
MinerDB.java 数据库工具类 package com.iteye.injavawetrust.miner; import java.sql.Connection; import java.s ...
- 小记Java时间工具类
小记Java时间工具类 废话不多说,这里主要记录以下几个工具 两个时间只差(Data) 获取时间的格式 格式化时间 返回String 两个时间只差(String) 获取两个时间之间的日期.月份.年份 ...
- Java Cookie工具类,Java CookieUtils 工具类,Java如何增加Cookie
Java Cookie工具类,Java CookieUtils 工具类,Java如何增加Cookie >>>>>>>>>>>>& ...
随机推荐
- FineReport实现java报表多级上报的效果图
Java报表-上报流程管理 Java报表-上报任务管理 Java报表-我的上报任务 Java报表-系统说明
- 结果集(ResultSet)用法
结果集(ResultSet)是数据中查询结果返回的一种对象,可以说结果集是一个存储查询结果的对象,但是结果集并不仅仅具有存储的功能,他同时还具有操纵数据的功能,可能完成对数据的更新等. 结果集读取数据 ...
- char * const p和const char *p的区别
1. 前者定义P为常量,即只能单向赋值一次,P++展开为p=p+1,重复赋值给常量,出错,后者P为地址变量,地址变量是指向该变量的存储地址值如:4B3F6A,不能赋给一个字符值(字符相当于ascii表 ...
- CSDN学院 免费技术答疑公开课,本周四场即将开播~~~
为了酬谢广大学员,CSDN学院特推出免费技术答疑公开课,让您开启一段充实的学习之旅~ 本周四场即将开播! ----------------------------------------------- ...
- KMP hihoCoder1015 KMP算法
人太蠢,,看了一天的KMP.. 刚開始看训练指南的,,后来才惊奇的发现原来刘汝佳写的f数组并非Next数组! 总认为和之前看过的全然不一样.. . 后来又百度了一下KMP,研究了非常久,然后用自己的逻 ...
- vmware 安装配置 ,记住这一次不要再问我了。ok?
Linux 安装配置 ,记住这一次不要再问我了.ok? 第一步 选择版本 如果遇到问题无法自动获取的 老男孩教育-李泳谊<youjiu_linux@qq.com> 17:51:43明天开 ...
- Linux命令之paste
介绍 cut用来从文本文件或标准输出中抽取数据列或者域,然后再用paste可以将这些数据粘贴起来形成相关文件.粘贴两个不同来源的数据时,首先需将其分类,并确保两个文件行数相同. paste将按行将不同 ...
- Log4Net 笔记
Log4net框架简介: Log4net 是 Apache 下的一个开源项目,log4net框架基于Apache log4j™.Log4net用于日志记录或跟踪API,它允许开发人员控制以任意粒度输出 ...
- 进程通信(socket)
“一切皆Socket!” 话虽些许夸张,但是事实也是,现在的网络编程几乎都是用的socket. ——有感于实际编程和开源项目研究. 我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览 ...
- Python菜鸟之路:JavaScript基础
前言 JavaScript 是属于网络的脚本语言,被数百万计的网页用来改进设计.验证表单.检测浏览器.创建cookies,以及更多的应用. 编写 1. 存在形式 方式一:存在js文件中,即写入js文件 ...