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 >>>>>>>>>>>>& ...
随机推荐
- CSS学习(二)- 有关 hasLayout 和 BFC
1. hasLayout 概念说明 ‘Layout’ 可以被某些 CSS property(特性)不可逆的触发,而某些 HTML 元素本身就具有 layout . ‘Layout’ 在 IE 中可以通 ...
- php tp验证表单与自动填充函数
<?php class FormModel extends Model { // 自动验证设置 /* * 一:自动验证 自动验证的定义是这样的:array(field,rule,message, ...
- Servlet 自动刷新页面
假设有一个网页,它是显示现场比赛成绩或股票市场状况或货币兑换率.对于所有这些类型的页面,您需要定期刷新网页. Java Servlet 提供了一个机制,使得网页会在给定的时间间隔自动刷新. 刷新网页的 ...
- eclipse 配置JDK
JDK安装成功,eclipse也安装成功,这时候实际上是可以不配置JDK,因为系统已经默认给你配置好了,但是下面的情况需要配置:1.你系统中安装了多个JDK,某个项目工程需要更高版本的JDK等 工具/ ...
- MathType编辑表示右上角的符号的方法
MathType是一款公式编辑器,其中的符号种类非常的全,如果需要编辑一些专业的公式,用它非常的方便快捷.但是有些符号由于不常用,在一些模板之中使用的时候需要深入地去查找调用一下.比如表示右上角的符号 ...
- Classification week6: precision & recall 笔记
华盛顿大学 machine learning :classification 笔记 第6周 precision & recall 1.accuracy 局限性 我们习惯用 accuracy ...
- Python Socket套接字
socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求. socket起源于Un ...
- Android开发:《Gradle Recipes for Android》阅读笔记(翻译)3.4——Flavor Dimensions
问题: 一个product flavor不够,你需要另一个标准去区分不同版本的app 解决方案: 在product flavor中增加flavorDimensions 讨论: 在3.2章展示了一个有三 ...
- 1280 前缀后缀集合(map)
1280 前缀后缀集合 题目来源: Codility 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 一个数组包含N个正整数,其中有些是重复的.一个前缀后缀集是满足 ...
- mysql_表_操作
1.创建表 # 基本语法: create table 表名( 列名 类型 是否可以为空 默认值 自增 主键, 列名 类型 是否可以为空 )ENGINE=InnoDB DEFAULT CHARSET=u ...