IDEA中java断言assert语法及使用

 更新时间:2021年04月25日 11:03:46   作者:爱敲代码的三毛  
这篇文章主要介绍了IDEA中java断言assert语法详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

前言

同C语言一样,Java也有断言关键字assert,它们的用法也比较相似。
注意:Java的断言是从1.4版本开始的,以前的版本不支持断言。

一、断言语法

java中断言有两种语法

assert 布尔表达式;
assert 布尔表达式 :“错误信息提示”;
  • 第一种语法如果条件判断为ture程序继续执行,如果判断为false,则会终止程序并报出AssertionError异常。
  • 第二种语法如果判断为ture程序也是继续执行,如果判断为false,则会终止程序并报出你所输入的错误信息。

二、IDEA中的断言

在IDEA中断言是默认关闭的,需要我们手动打开。

在这里插入图片描述

找到你需要断言的类在 VM options中输入-ea就好了

在这里插入图片描述

三、代码示例

public class Test{
    public static void toString(int[] arr){
       assert arr!=null : "你传递了一个错误的引用";
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }
    }
    public static void main(String[] args) {
        int[] array = {1,2,3,4,5,6,7,8,9};
        toString(null);
    }
}

在这里插入图片描述

可以看到但布尔表达式判断为false程序会停止运行并报出错误。

总结

断言我们是不建议使用的,我了解到几个原因

  • 断言不是默认开启的,需要手动开启,这就给程序的移植带来了不便。
  • 一旦断言判断失败整个程序就会终止,在一个生产环境下的应用是非常危险的。
  • 所以我们应该避免使用断言,使用if语句判断会更好。

到此这篇关于IDEA中java断言assert介绍的文章就介绍到这了,更多相关java断言assert内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MyBatis 多个条件使用Map传递参数进行批量删除方式

    MyBatis 多个条件使用Map传递参数进行批量删除方式

    这篇文章主要介绍了MyBatis 多个条件使用Map传递参数进行批量删除方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • Java8 实现stream将对象集合list中抽取属性集合转化为map或list

    Java8 实现stream将对象集合list中抽取属性集合转化为map或list

    这篇文章主要介绍了Java8 实现stream将对象集合list中抽取属性集合转化为map或list的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02
  • IDEA下创建SpringBoot+MyBatis+MySql项目实现动态登录与注册功能

    IDEA下创建SpringBoot+MyBatis+MySql项目实现动态登录与注册功能

    这篇文章主要介绍了IDEA下创建SpringBoot+MyBatis+MySql项目实现动态登录与注册功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • Java中类的定义与实例化详解

    Java中类的定义与实例化详解

    这篇文章主要给大家介绍了关于Java中类的定义与实例化的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Java具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-11-11
  • postman测试post请求参数为json类型的实例讲解

    postman测试post请求参数为json类型的实例讲解

    下面小编就为大家分享一篇postman测试post请求参数为json类型的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-03-03
  • Java之HashMap案例详解

    Java之HashMap案例详解

    这篇文章主要介绍了Java之HashMap案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • Java设计模式之迭代器模式解析

    Java设计模式之迭代器模式解析

    这篇文章主要介绍了Java设计模式之迭代器模式解析,迭代器模式提供一个对象来顺序访问聚合对象中的一系列数据,而不暴露聚合对象的内部表示,本文提供了部分代码,需要的朋友可以参考下
    2023-09-09
  • Springboot MultipartFile文件上传与下载的实现示例

    Springboot MultipartFile文件上传与下载的实现示例

    在Spring Boot项目中,可以使用MultipartFile类来处理文件上传和下载操作,本文就详细介绍了如何使用,具有一定的参考价值,感兴趣的可以了解一下
    2023-08-08
  • springboot默认日志框架选择源码解析(推荐)

    springboot默认日志框架选择源码解析(推荐)

    这篇文章主要介绍了springboot默认日志框架选择源码解析(推荐),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • 基于String实现同步锁的方法步骤

    基于String实现同步锁的方法步骤

    这篇文章主要给大家介绍了关于基于String实现同步锁的方法步骤,文中通过示例代码介绍的非常详细,对大家学习或者使用String具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-09-09

最新评论