Java - 基础知识 - assert 断言

java

  assert 在很多编程语言中的用途都是断言,它是 jdk1.4 之后新加的关键字。

  assert 的使用包含两部分内容:

  1. assert BooleanCondition:assert 后边跟一个布尔表达式,如果表达式的值为 true,那么就认为当前条件复合要求,继续执行业务代码;如果表达式的值为 false,那么就认为当前条件不符合要求,立即抛出 AssertionError 的错误。AssertionError 继承自 Error,Error 继承自 Throwable。Throwable 这个类,平常使用的相对较少,它还有一个子类叫 Exception,Error 和 Exception 一样都属于系统不应该出现的严重问题。
  2. assert BooleanCondition:Exception:assert 后边跟一个布尔表达式,同时再跟一个返回值为基本类型的表达式,当布尔表达式的值为 true 时,则继续运行剩余的业务代码,不会执行 “:” 后面的表达式;否则执行 “:” 后面的表达式,并将结果放在 AssertionError 异常中,一并抛出。

  写个简单的 demo,玩一玩 assert:

 1 package com.taiyo.util;

2

3 public class AssertTest {

4

5 public static void main(String[] args) {

6

7 assert 1 == 1;

8 System.out.println("Assert test true...");

9 assert 1 != 1 : "This is what I wanna insert into the exception......";

10 System.out.println("Assert test false...");

11

12 }

13

14 }

  在 IDEA 上运行上面的程序得到如下的结果:

  

  说好的断言为假会抛出异常的呢?

  原来,assert 关键字是受 Java 启动项配置的,在启动时,需要通过 -ea 将 assert 开启:java -ea AssertTest

  这样我们就会看到 assert 关键字的功能生效了。

  通过 -da 将 assert 关闭 :java -da AssertTest(默认是关闭的)

  在 IDEA 中可以按如下步骤开启 assert 关键字的功能:

  1. Run 下找到 Edit Configurations 并点击。
  2. 在打开的面板中找到 VM options 并输入 -ea,然后点击 OK 确认修改。

  

  

  再次运行程序,得到如下结果:

  

  如有疑问或者错误,都欢迎在评论区告知我 :)

  参考文档:

  https://www.cnblogs.com/jilodream/p/5940713.html

以上是 Java - 基础知识 - assert 断言 的全部内容, 来源链接: utcz.com/z/391386.html

回到顶部