启用断言
断言默认是关闭的,需要手动启用
idea
![image-20210220133718570](https://i.loli.net/2021/02/20/wEYCc5XQqayZ87D.png)
eclipse
![image-20210220134525757](https://i.loli.net/2021/02/20/AQbsSjqzDTFLrmh.png)
示例
语法一:assert x ;
package com.example.demo;
public class AssertionTest {
public static void main(String[] args) {
AssertionTest assertionTest = new AssertionTest();
assertionTest.test(9);
}
public void test(int i) {
//若i等于10,则程序正常执行,否则程序中断,
//抛出异常java.lang.AssertionError
assert i == 10;
System.out.println("333");
}
}
语法二:assert x : y ;
package com.example.demo;
public class AssertionTest {
public static void main(String[] args) {
AssertionTest assertionTest = new AssertionTest();
assertionTest.test(9);
}
public void test(int i) {
//若i等于10,则程序正常执行,否则程序中断,
//抛出异常java.lang.AssertionError,且打印:我错了9
assert i == 10 : "我错了" + i;
System.out.println("333");
}
}
注意事项
- 断言机制从jdk1.4开始引入
- jvm默认关闭断言
- 断言不具有继承性
- 断言在程序发布时不起作用