assert关键字的用法
assert 判断语句,如果判断为true,程序继续执行,否则程序退出并抛出java.lang.AssertionError异常;
assert 判断语句 : 失败打印语句,如果判断为true,程序继续执行,否则程序退出并抛出java.lang.AssertionError异常并在异常处输出失败打印语句
例子:
public class AssertTest {
public static void main(String[] args) {
assert true;
System.out.println("assert true 继续执行");
assert false : "程序出错";
System.out.println("assert false 终止执行");
}
}
输出结果:
assert true 继续执行
Exception in thread "main" java.lang.AssertionError: 程序出错
at serializable.AssertTest.main(AssertTest.java:10)
注意:java程序运行时,默认是不开启断言的,也就是会忽略掉所有的断言语句;如果要开启断言,可以添加-enableassertions或-ea参数来开启。
assert断言往往只是用于测试,也就是开发阶段,如果加入业务相关的代码那就是一件麻烦的事,所以少用;
理由:1、测试我们可以使用junit进行单元测试或者debug
2、程序默认不开启断言,如果要需要自己配置;但像web项目如果需要的话那将还要修改web容器的配置参数;
3、如果在生产环境中使用断言,程序一旦终止将带来较大的损失。
综上所诉在实际应用中,尽量不要使用断言。