断言是一个包含 布尔表达式的语句,在执行这个语句的时候,假定该表达式为true ,如果表达式计算为false,系统就会抛出一个 java.lang.AssertionError 异常中断当前方法并执行冒号后的表达式;
如 assert (a>0);//throw an AssertionError if a<=0;
断言的两种形式:
assert Expression1;
assert Expression1:Expression2;
Expression1总是产生一个布尔表达式,Expression2可以是一个值的任意表达式,这个值用于生产显示更多调试信息的string消息。
断言在默认的情况下是禁用的。要想在编译时启用断言,需要使用source1.4标记:
java-source 1.4Test.java;
要想在运行时启用断言,可使用-enableassertions或-ea标记;
要想在运行时禁用断言,可使用-disableassertions或-da标记;
要在系统类中启用断言,可使用-esa或者-dsa标记,还可以在包的基础上启用或者禁用断言;