Java中的断言assert

今天在学习AQS的时候,资料上使用到了assert,当时很懵,不知道这是什么意思,就网上一顿找,记录一下学习到的有关assert的知识。

什么是assert

关键字assert表示断言。
java在执行的时候,默认是不启动断言检测的(这个时候所有的断言语句都将被忽略!),如果要开启断言检测,需要用开关 -enableassertions或-ea来开启。

用法

assert关键字的用法很简单,用两种用法:

  • assert <boolean表达式>
    如果表达式为true,程序继续进行。
    如果为false,程序抛出AssertionError,并终止执行。
  • assert <boolean表达式> : <错误信息表达式>
    如果<boolean表达式>为true,则程序继续执行。
    如果为false,则程序抛出java.lang.AssertionError,并输入<错误信息表达式>。
应用实例
public class AssertTest {
 
    public static void main(String args[]) {
 
        //断言1结果为true,则继续往下执行
 
        assert true;
 
        System.out.println("断言1没有问题,Go!");
 
 
 
        System.out.println("\n-----------------\n");
 
 
 
        //断言2结果为false,程序终止
 
        assert false : "断言失败,此表达式的信息将会在抛出异常的时候输出!";
 
        System.out.println("断言2没有问题,Go!");
 
    }
 
}

如果想要断言生效,需要使用


C:\>java -ea AssertFoo

开启断言

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值