断言assert从jdk1.4后启用。不常用。
1. 程序正常执行情况下,断言不会被执行 (即没有使用-ea参数)
如:
public class Test {
public static void main(String[] args) {
fun(null);
}
public static void fun (String str) {
// 这里断言str不等于空,如果为空,则提示str can not be null
assert str != null : "str can not be null";
System.out.println(str);
}
}
执行结果: null
2. 加入-ea (enable assert)参数,则断言不满足时,抛出AssertError错误,程序终止执行。
执行结果如下:
小结:1. -ea类似于断言功能的开关
2. 断言用于开发阶段