用法:
1、assert
如果为true,则程序继续执行。
如果为false,则程序抛出AssertionError,并终止执行。
2、assert : <错误信息表达式>
如果为true,则程序继续执行。
如果为false,则程序抛出java.lang.AssertionError,并输入<错误信息表达式>。
java代码例子:
public static void
main(String args[]) {
//
断言
1
结果为
true
,则继续往下执行
assert true
;
System.
out
.println(
"
断言
1
没有问题,
Go
!
"
);
System.
out
.println(
"\n-----------------\n"
);
//
断言
2
结果为
false,程序终止
assert false
:
"
断言失败,此表达式的信息将会在抛出异常的时候输出!
"
;
System.
out
.println(
"
断言
2
没有问题,
Go
!
"
);
}
java代码例子:
public class
AssertFoo {
}
输出结果:分两种情况,是否开启开关:
默认执行程序,没有开启-ea开关:
输出结果:分两种情况,是否开启开关:
默认执行程序,没有开启-ea开关:
C:\>java AssertFoo
断言1没有问题,Go!
-----------------
断言2没有问题,Go!
开启-ea开关,执行程序:
C:\>java -ea AssertFoo
断言1没有问题,Go!
总结:
assert既然是为了调试测试程序用,不在正式生产环境下用,那应该考虑更好的测试JUint来代替其做用,JUint相对assert关键的所提供的功能是有过之而无不及。当然完全可以通过IDEdebug来进行调试测试。在此看来,assert的前途一片昏暗。
因此,应当避免在Java中使用assert关键字,除非哪一天Java默认支持开启-ea的开关,这时候可以考虑。对比一下,assert能给你带来多少好处,多少麻烦,这是我们选择是否使用的的原则。