- assert:断言
- 一种常用的调试方式,很多开发语言中都支持这种机制
- 通常在开发和测试时开启
- 可以用来保证程序最基本、关键的正确性
- 为了提高性能,发布版的程序通常关闭断言
- 断言是一个包含布尔表达式的语句,在执行这个语句时假定该表达式为 true;如果表达式计算为 false ,会报告一个 AssertionError
- 断言在默认情况下是禁用的,要在编译时启用断言,需使用source 1.4 标记,如 javac -source 1.4 TestAssert.java
- 要在运行时启用断言,需加参数 -ea 或 -enableassertions
- 要在运行时选择禁用断言,需加参数 -da 或 -disableassertions
- 要在系统类中启用或禁用断言,需加参数 -esa 或 -dsa
Java 中断言有两种语法形式:
- assert 表达式1;
- assert 表达式1 : 错误表达式 ;
表达式1 是一个布尔值
错误表达式可以得出一个值,用于生成显示调试信息的字符串消息
package constxiong.interview;
public class TestAssert {
public static void main(String[] args) {
assert 1 > 0;
int x = 1;
assert x <0 : "大于0";
}
}
打印:
Exception in thread "main" java.lang.AssertionError: 大于0
at constxiong.interview.TestAssert.main(TestAssert.java:8)