Skip to content

assert 关键字

assert 关键字是在 JDK1.4 的时候引入的,其主要的功能是进行断言。断言指的是程序执行到某行之后,其结果一定是预期的结果。

java
package com.yootk.demo;
public class TestDemo {
	public static void main(String args[]) {
		int num = 10;
		// 假设中间可能经过了20行代码来操作num的内容,期望的内容应该是20
		assert num == 20 : "num的内容不是20";		// 进行断言操作
		System.out.println("num = " + num);
	}
}
package com.yootk.demo;
public class TestDemo {
	public static void main(String args[]) {
		int num = 10;
		// 假设中间可能经过了20行代码来操作num的内容,期望的内容应该是20
		assert num == 20 : "num的内容不是20";		// 进行断言操作
		System.out.println("num = " + num);
	}
}

本程序使用断言进行操作,很明显程序中断言的判断条件并不满足,但是依然没有任何错误产生,这是因为 Java 默认情况下是不开启断言的。如果要想启用断言,则应该增加如下一些选项。

java -ea com.yootk.demo.TestDemo

增加 -ea 参数之后,本程序就会出现如下错误信息。

Exception in thread "main" java.lang.AssertionError: num 的内容不是20

​ at com.tootk.demo.TestDemo.main(TestDemo.java:7)

如果在运行时不增加 -ea 的选项,则不会出现错误,换言之,断言并不是自动启动的,需要由用户控制启动,但是这种技术在 Java 中并非重点知识,读者了解即可。

用心去做高质量的编程学习内容网站,欢迎star ⭐让更多人发现!