1. 概念

如果表达式的结果为true,那么断言为真,并且无任何行动;如果表达式为false,则断言失败,则会抛出一个AssertionError对象。

2. 实现

String str = null;
assert str!=null :"此处信息为null";

//代码执行结果
Exception in thread "main" java.lang.AssertionError: 此处信息为null
at TestAssert.main(TestAssert.java:6)

3. 开启方式

assert的支持是可选的,在开发时可以让它运行,但在生产系统中则不需要其运行了(以便提高性能),因此在assert的布尔表达式中不能执行逻辑代码,否则会因为环境不同而产生不同的逻辑,例如:

1 public void doSomething(List list,Object element){  
2         assert list.remove(element):"删除元素 " + element + " 失败";  
3         /*业务处理*/  
4 }

这段代码在assert启用的环境下,没有任何问题,但是一旦投入到生产环境,就不会启用断言了,而这个方法也就彻底完蛋了,list的删除动作永远都不会执行,所以也就永远不会报错或异常,因为根本就没有执行嘛!

Eclipse中默认是关闭断言assert的.怎么样在eclipse中开启断言...
assert