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 >>>>>>>>>>>>& ...
随机推荐
- linux中if[[ $file == r* ]]的空格
ls $usridir/$line | while read file do if [[ $file==access.log.* ]] then echo $file "hahahah&qu ...
- Java基础12 类型转换与多态(转载)
类型检查 Java的任意变量和引用经过类型声明(type declaration),才能使用.我们之前见过对象数据.类数据.方法参数.方法返回值以及方法内部的自动变量,它们都需要声明其类型.Java是 ...
- jq 获取select text
var Reply_type_name=$("#Reply_type").find("option:selected").text();
- Android项目页面跳转小Demo
近期在做Android项目的开发,刚刚接触会有非常多新东西须要学习,从环境的搭建到语言的熟悉都是须要一步步完毕的,接下来就拿一个页面跳转的样例来和大家分享一下自己的心得体会. 採用的架构: Demo中 ...
- dva解读1
1.首先定义一个app对象实现dva const app = dva({ history: createHistory(), }); // 2. Plugins app.use(createLoadi ...
- 忘记了Ubuntu的密码
今天装了个虚拟机,现在装起来顺手的不行,毕竟用了多少次VMware了,结果进去发现,以前用过的虚拟机密码忘了,于是就百度解决方法,总结如下,其实很简单. 我用的Ubuntu 11的版本,后续即使有改动 ...
- WPF开发简介教程
1/ VS中文件-新建-项目-WPF应用程序 2/ 左上角工具箱中有很多组件可以直接拖拽使用 3/ 双击组件,进入脚本功能编辑界面,如按钮: private void Button_Click_1(o ...
- Ubuntu 下Apache安装和配置2
在Ubuntu上安装Apache,有两种方式:1 使用开发包的打包服务,例如使用apt-get命令:2 从源码构建Apache.本文章将详细描述这两种不同的安装方式. 方法一:使用开发包的打包服务—— ...
- [读书笔记]JavaScript 闭包(Closures)
1. 什么是闭包? 参考MDN. 2. 闭包的使用示例 2.1 示例1 <div>1</div> <div>2</div> <div>3&l ...
- 1307 绳子与重物(DFS)
1307 绳子与重物 题目来源: Codility 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 有N条绳子编号 0 至 N - 1,每条绳子后面栓了一个重物重量 ...