Java中assert(断言)的使用
2018年08月31日 21:51:07 jeikerxiao
1.IDEA打开断言
1.IDEA中默认assert(断言)是关闭,开启方式如下:
简单来说:就是设置一下jvm
的参数,参数是-enableassertions
或者-ea
(推荐)。
2.assert格式
1.格式1
assert [boolean 表达式]
- 如果[boolean表达式]为true,则程序继续执行。
- 如果为false,则程序抛出AssertionError,并终止执行。
示例
public class Test1 {
public static void main(String[] args) {
int a = 1;
int b = 2;
// 格式1:assert [boolean 表达式]
assert a > b;
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
增加 jvm
参数 -ea
,运行,输出日志如下:
Exception in thread "main" java.lang.AssertionError
at Test1.main(Test1.java:12)
Process finished with exit code 1
- 1
- 2
- 3
- 4
2.格式2
assert [boolean 表达式 : 错误表达式 (日志)]
- 1
- 如果[boolean表达式]为true,则程序继续执行。
- 如果为false,则程序抛出java.lang.AssertionError,输出[错误信息]。
示例
public class Test2 {
public static void main(String[] args) {
int a = 1;
int b = 2;
// 格式2:assert [boolean 表达式] : [错误表达式 (日志)]
assert a > b : "错误,a不大于b";
}
}
增加 jvm
参数 -ea
,运行,输出日志如下:
Exception in thread "main" java.lang.AssertionError: 错误,a不大于b
at Test2.main(Test2.java:12)
Process finished with exit code 1
备注:assert boolean表达式如果是false会造成如下问题: