1.断言工具类

  1. package com.sze.redis.util;
  2.  
  3. import java.util.Collection;
  4. import java.util.Map;
  5.  
  6. import com.sze.redis.exception.SzwRunTimeException;
  7.  
  8. /**
  9. * <br>类 名: AssertUtils
  10. * <br>描 述: 断言 校验类
  11. * <br>作 者: shizhenwei
  12. * <br>版 本: v1.0.0
  13. * <br>
  14. * <br>历 史: (版本) 作者 时间 注释
  15. */
  16. public class AssertUtils {
  17.  
  18. /**
  19. * 判断是否为NULL
  20. * @param obj
  21. * @param label
  22. */
  23. public static void assertNotNull(Object obj, String label) {
  24. if(null == obj){
  25. throw new SzwRunTimeException(label + "不能为空");
  26. }
  27. }
  28.  
  29. /**
  30. * 判断是否为空
  31. * @param obj
  32. * @param label
  33. */
  34. public static void assertNotEmpty(Object obj, String label) {
  35. if(null != obj){
  36. if(obj instanceof String){
  37. String string = (String) obj;
  38. if("".equals(string.trim())){
  39. throw new SzwRunTimeException(label + "不能为空");
  40. }
  41. }else if(obj.getClass().isArray()){
  42. if(((Object[])obj).length<1){
  43. throw new SzwRunTimeException(label + "不能为空");
  44. }
  45. }else if(obj instanceof Collection){
  46. if(((Collection<?>)obj).size()<1){
  47. throw new SzwRunTimeException(label + "不能为空");
  48. }
  49. }else if(obj instanceof Map){
  50. if(((Map<?, ?>)obj).size()<1){
  51. throw new SzwRunTimeException(label + "不能为空");
  52. }
  53. }
  54. }else{
  55. throw new SzwRunTimeException(label + "不能为NULL");
  56. }
  57. }
  58.  
  59. /**
  60. * 判断数组不能为空
  61. * @param array
  62. * @param label
  63. */
  64. public static <T> void assertArrayNotEmpty(T[] array, String label){
  65. if(null!=array){
  66. if(array.length<1){
  67. throw new SzwRunTimeException(label + "不能为空");
  68. }
  69. }else{
  70. throw new SzwRunTimeException(label + "不能为NULL");
  71. }
  72. }
  73.  
  74. /**
  75. * 判断集合不能为空
  76. * @param array
  77. * @param label
  78. */
  79. public static <T> void assertCollectionNotEmpty(Collection<T> collection, String label){
  80. if(null!=collection){
  81. if(collection.size()<1){
  82. throw new SzwRunTimeException(label + "不能为空");
  83. }
  84. }else{
  85. throw new SzwRunTimeException(label + "不能为NULL");
  86. }
  87. }
  88.  
  89. /**
  90. * 判断Map不能为空
  91. * @param array
  92. * @param label
  93. */
  94. public static <E, T> void assertMapNotEmpty(Map<E, T> map, String label) {
  95. if(null!=map){
  96. if(map.size()<1){
  97. throw new SzwRunTimeException(label + "不能为空");
  98. }
  99. }else{
  100. throw new SzwRunTimeException(label + "不能为NULL");
  101. }
  102. }
  103. }

2.自定义异常类

  1. package com.sze.redis.exception;
  2.  
  3. public class SzwRunTimeException extends RuntimeException{
  4.  
  5. /** **/
  6. private static final long serialVersionUID = 8924997566380919394L;
  7.  
  8. public SzwRunTimeException() {
  9. super();
  10. }
  11.  
  12. public SzwRunTimeException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) {
  13. super(message, cause, enableSuppression, writableStackTrace);
  14. }
  15.  
  16. public SzwRunTimeException(String message, Throwable cause) {
  17. super(message, cause);
  18. }
  19.  
  20. public SzwRunTimeException(String message) {
  21. super(message);
  22. }
  23.  
  24. public SzwRunTimeException(Throwable cause) {
  25. super(cause);
  26. }
  27.  
  28. }

java 断言工具类的更多相关文章

  1. java编程中的断言工具类(org.springframework.util.Assert)

    转自:https://blog.csdn.net/gokeiryou263/article/details/19612471 断言工具类:Assert类, java.lang.Object ---&g ...

  2. Java Properties工具类详解

    1.Java Properties工具类位于java.util.Properties,该工具类的使用极其简单方便.首先该类是继承自 Hashtable<Object,Object> 这就奠 ...

  3. Java json工具类,jackson工具类,ObjectMapper工具类

    Java json工具类,jackson工具类,ObjectMapper工具类 >>>>>>>>>>>>>>> ...

  4. Java日期工具类,Java时间工具类,Java时间格式化

    Java日期工具类,Java时间工具类,Java时间格式化 >>>>>>>>>>>>>>>>>&g ...

  5. Java并发工具类 - CountDownLatch

    Java并发工具类 - CountDownLatch 1.简介 CountDownLatch是Java1.5之后引入的Java并发工具类,放在java.util.concurrent包下面 http: ...

  6. MinerUtil.java 爬虫工具类

    MinerUtil.java 爬虫工具类 package com.iteye.injavawetrust.miner; import java.io.File; import java.io.File ...

  7. MinerDB.java 数据库工具类

    MinerDB.java 数据库工具类 package com.iteye.injavawetrust.miner; import java.sql.Connection; import java.s ...

  8. 小记Java时间工具类

    小记Java时间工具类 废话不多说,这里主要记录以下几个工具 两个时间只差(Data) 获取时间的格式 格式化时间 返回String 两个时间只差(String) 获取两个时间之间的日期.月份.年份 ...

  9. Java Cookie工具类,Java CookieUtils 工具类,Java如何增加Cookie

    Java Cookie工具类,Java CookieUtils 工具类,Java如何增加Cookie >>>>>>>>>>>>& ...

随机推荐

  1. csla 与高cpu

    在项目中一直使用csla 4.13. 项目一直正常,但是偶尔会出现iis占用的cpu 突然100%, 后面客户量大的情况,加入了缓存的机制.100%的情况出现的更多了. 当时有数据库死锁的原因.cpu ...

  2. LeetCode459. Repeated Substring Pattern

    Description Given a non-empty string check if it can be constructed by taking a substring of it and ...

  3. 基于 UML 的业务建模举例

    简介: 对于管理流程咨询项目.大型信息化建设项目和套装管理软件实施项目,对业务环境的分析和理解对项目的成功至关重要.系统.全面理解 IT 系统所处的业务环境,可以帮助 IT 系统能提供正确系统功能,并 ...

  4. Spring MVC生成RSS源

    下面的示例演示如何使用Spring Web MVC框架生成RSS源. 首先使用Eclipse IDE,并按照以下步骤使用Spring Web Framework开发基于动态表单的Web应用程序: 创建 ...

  5. VS2005 Manifest 配置问题总结

    一.问题 编译某个遗留工程后,运行程序时报错,“由于应用程序的配置不正确,应用程序无法启动.重新安装应用程序可能会解决这个问题.” 查看生成的Manifest文件如下: <?xml versio ...

  6. ios -特殊符号大全分享给大家,直接复制粘贴就可以使用了!

    ░ ▒ ▬ ♦ ◊ ◦ ♠ ♣ ▣ ۰•● ❤ ●•۰ ► ◄ ▧ ▨ ♨ ◐ ◑ ↔ ↕ ▪ ▫ ☼ ♦ ♧♡♂♀♠♣♥❤☜☞☎☏⊙◎ ☺☻☼▧▨♨◐◑↔↕▪ ▒ ◊◦▣▤▥ ▦▩◘ ◈◇♬♪♩♭♪ ...

  7. 分享一个编译期输出TODO,FIXME列表的宏

    效果,双击能跳到相应位置: >------ Build started: Project: TestVS2013, Configuration: Debug Win32 ------ > ...

  8. socket编码问题

    server.py import socket ip_port = ('127.0.0.1',9999) sk = socket.socket() sk.bind(ip_port) sk.listen ...

  9. wifidog 认证

    首先简介一下什么是Portal认证.Portal认证.通常也会叫Web认证.未认证用户上网时,设备强制用户登录到特定站点,用户能够免费訪问当中的服务.当用户须要使用互联网中的其他信息时,必须在门户站点 ...

  10. Unity3d NGUI UICheckbox

    单选按钮: 一,常用属性: 1,CheckSprite:选中后,才显示的Sprite,即为“选中”状态; 2,Starts Checked:true,一开始就显示“选中”状态; 3,RadioButt ...