断言是在Java 1.4中引入的。它能让你验证假设。如果断言失败(即返回false),就会抛出AssertionError(如果启用断言)。

什么时候使用断言?

  断言不应该用于验证输入数据到一个public方法或命令行参数。IllegalArgumentException会是一个更好的选择。在public方法中,只用断言来检查它们根本不应该发生的情况。

import java.util.Collection;
import java.util.Map; import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.collections.MapUtils;
import org.apache.commons.lang.StringUtils; /**
* 断言扩展
*
* @ClassName: Assert
* @author coco.xu*/
@SuppressWarnings("rawtypes")
public class Assert { public static void hasText(Long text, String message) {
if (text == null || text == 0)
throw new IllegalArgumentException(message);
else
return;
} public static void hasText(Integer text, String message) {
if (text == null || text == 0)
throw new IllegalArgumentException(message);
else
return;
} public static void hasText(String text, String message) {
org.springframework.util.Assert.hasText(text, message);
} public static void notNull(Object obj, String message) {
if (obj == null) {
throw new IllegalArgumentException(message);
}
} public static void notEmpty(Collection obj, String message) {
if (CollectionUtils.isEmpty(obj)) {
throw new IllegalArgumentException(message);
}
} public static void notEmpty(Map obj, String message) {
if (MapUtils.isEmpty(obj)) {
throw new IllegalArgumentException(message);
}
} public static void hasText(String text) {
org.springframework.util.Assert
.hasText(
text,
"[Assertion failed] - this String argument must have text; it must not be null, empty, or blank");
} public static void notEmpty(String text,String message)
{
if(StringUtils.isEmpty(text))
{
throw new IllegalArgumentException(message);
}
} }

Java基础之断言的更多相关文章

  1. Java基础-异常、断言

    处理错误 如果Java程序运行期间出现了错误,并且由于出现错误导致某些操作没有完成,程序应该能够返回到一种安全状态,并能够让用户执行一些其他的命令:或者允许用户保存所有操作结果,并以妥善的方式终止程序 ...

  2. Java基础知识【下】( 转载)

    http://blog.csdn.net/silentbalanceyh/article/details/4608360 (最终还是决定重新写一份Java基础相关的内容,原来因为在写这一个章节的时候没 ...

  3. Java基础常见英语词汇

    Java基础常见英语词汇(共70个) ['ɔbdʒekt] ['ɔ:rientid]导向的                             ['prəʊɡræmɪŋ]编程 OO: object ...

  4. java基础3.0:Java常用API

    本篇介绍Java基础中常用API使用,当然只是简单介绍,围绕重要知识点引入,巩固开发知识,深入了解每个API的使用,查看JavaAPI文档是必不可少的. 一.java.lang包下的API Java常 ...

  5. Java基础之理解Annotation(与@有关,即是注释)

    Java基础之理解Annotation 一.概念 Annontation是Java5开始引入的新特征.中文名称一般叫注解.它提供了一种安全的类似注释的机制,用来将任何的信息或元数据(metadata) ...

  6. Java 基础知识总结

    作者QQ:1095737364    QQ群:123300273     欢迎加入! 1.数据类型:  数据类型:1>.基本数据类型:1).数值型: 1}.整型类型(byte  8位   (by ...

  7. java基础常见面试题,这是一篇超长的随笔!!!

    1. Java基础部分....................................................... 4 1.一个".java"源文件中是否可以包括 ...

  8. Java面试准备之Java基础

    1.Java 语言的优点 面向对象,平台无关,内存管理,安全性,多线程,Java 是解释型的 2.Java 和 C++的区别 多重继承(java接口多重,类不支持,C++支持) 自动内存管理 预处理功 ...

  9. java基础-3

    java基础-3 API ​ Application Programming Interfaces --- 应用程序接口 Object 顶级父类 Bin --- 二进制 Oct --- 八进制 Dec ...

随机推荐

  1. 创建DB2数据库联合对象

    db2 1.db2 =>update dbm cfg using Federated YES 2. db2 =>db2stop force3. db2 =>db2start 4.创建 ...

  2. 2018.08.19 NOIP模拟 number(类数位dp)

    Number 题目背景 SOURCE:NOIP2015-SHY-10 题目描述 如果一个数能够表示成两两不同的 3 的幂次的和,就说这个数是好的. 比如 13 是好的,因为 13 = 9 + 3 + ...

  3. systemctl自定义service

    应用场景:开启自启动运行脚本/usr/local/manage.sh 一.服务介绍 CentOS 7的服务systemctl脚本存放在:/usr/lib/systemd/,有系统(system)和用户 ...

  4. IntelliJ IDEA 2017版 spring-boot使用Spring Data JPA使用Repository<T, T>编程

    1.环境搭建pom.xml搭建 <?xml version="1.0" encoding="UTF-8"?> <project xmlns=& ...

  5. kallinux2.0安装网易云音乐

    安装 dpkg -i netease-cloud-music_1.0.0_amd64.kali2.0(yagami).deb apt-get -f install dpkg -i netease-cl ...

  6. JSTL 、 OGNL 与 EL

    JSTL: JSP Standard Tag Library OGNL:Object-Graph Navigation Language EL:Expression Language action 中 ...

  7. 常用算法 (JS实现)

    全排序列 function swap(array,a,b){ var m=array[a]; array[a]=array[b]; array[b]=m; } function full_sort(a ...

  8. HDU2212 DFS 2016-07-24 13:52 56人阅读 评论(0) 收藏

    DFS Problem Description A DFS(digital factorial sum) number is found by summing the factorial of eve ...

  9. Unity3D规则之Unity Root Motion / Bake into Pose 的问题

    参考: http://ru.unity3d-docs.com/Documentation/Manual/Animator.html http://ru.unity3d-docs.com/Documen ...

  10. UniGui之锱铢积累(仔细看这个文件)

    http://www.doc88.com/p-4022977294324.html 这个是Word文档