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 >>>>>>>>>>>>& ...
随机推荐
- tic-tac-toe游戏代码
package com.p4f.tictactoe.demo; import javax.swing.border.Border; public class Board { /** * positio ...
- 内核交互--sysfs
文档介绍:http://lxr.linux.no/linux+v2.6.37/Documentation/filesystems/sysfs.txt The sysfs Filesystem Sysf ...
- 设计模式中类的关系之组合关系(Composition)
组合也是关联关系的一种特例,它体现的是一种contains-a的关系,这种关系比聚合更强,也称为强聚合:它同样体现整体与部分间的关系,但此时整体与部分是不可分的,它们具有统一的生存期,整体的生命周期结 ...
- IOS设计模式浅析之单例模式(Singleton)
说在前面 进入正式的设计模式交流之前,扯点闲话.我们在项目开发的过程中,经常会不经意的使用一些常见的设计模式,如单例模式.工厂方法模式.观察者模式等,以前做.NET开发的时候,认真拜读了一下程杰老师的 ...
- 24模拟keepalved vrrp功能,监听主节点,如果主节点不可访问则备节点启动并配置LVS实现接管主节点的资源提供服务(提醒:注意ARP缓存)
[root@lb04 scripts]# cat ha_lv.sh #!/bin/bash while true do check_count=$(nmap 10.0.0.13|grep " ...
- Win10中配置jdk之后javac无法运行
环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数,如:临时文件夹位置和系统文件夹位置等. 环境变量是在操作系统中一个具有特定名字的对象,它包 ...
- PRINTDLG 打印对话框操作
typedef struct tagPD { DWORD lStructSize; HWND hwndOwner; HGLOBAL hDevMode; HGLOBAL hDevNames; HDC h ...
- iOS 。开发之指纹识别功能
// 头文件导入 #import <LocalAuthentication/LocalAuthentication.h> //在iPhone5s的时候,苹果推出了指纹解锁.但是在ios8. ...
- 深入了解UIAutomation 的API
有关UiAUiAutomation的API对象的文件名称. 1.UIAutomation中的对象都是以UIA#####开头的出现的.eg:UIAButton 2.有关Logger对象负责日志的输出 U ...
- linux下软件的安装与卸载
一 软件安装包的类型 通常Linux应用软件的安装有五种: 1) tar+ gz包,如software-1.2.3-1.tar.gz.他是使用UNIX系统的打包工具tar打包的. 2) r ...