前言
同C语言一样,Java也有断言关键字assert,它们的用法也比较相似。
注意:Java的断言是从1.4版本开始的,以前的版本不支持断言。
一、断言语法
java中断言有两种语法
- assert 布尔表达式;
- assert 布尔表达式 :“错误信息提示”;
- 第一种语法如果条件判断为ture程序继续执行,如果判断为false,则会终止程序并报出AssertionError异常。
- 第二种语法如果判断为ture程序也是继续执行,如果判断为false,则会终止程序并报出你所输入的错误信息。
二、IDEA中的断言
在IDEA中断言是默认关闭的,需要我们手动打开。
找到你需要断言的类在 VM options中输入-ea就好了
三、代码示例
public class Test{
public static void toString(int[] arr){
assert arr!=null : "你传递了一个错误的引用";
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
public static void main(String[] args) {
int[] array = {1,2,3,4,5,6,7,8,9};
toString(null);
}
}
可以看到但布尔表达式判断为false程序会停止运行并报出错误。
总结
断言我们是不建议使用的,我了解到几个原因
- 断言不是默认开启的,需要手动开启,这就给程序的移植带来了不便。
- 一旦断言判断失败整个程序就会终止,在一个生产环境下的应用是非常危险的。
- 所以我们应该避免使用断言,使用if语句判断会更好。