assert函数在哪个头文件_java断言assert函数

理解和正确使用Java中的断言(assert)

一、语法形式:

Java2在1.4中新增了一个关键字:assert。在程序开发过程中使用它创建一个断言(assertion),它的

语法形式有如下所示的两种形式:

1、assert condition;

这里condition是一个必须为真(true)的表达式。如果表达式的结果为true,那么断言为真,并且无任何行动

如果表达式为false,则断言失败,则会抛出一个AssertionError对象。这个AssertionError继承于Error对象,

而Error继承于Throwable,Error是和Exception并列的一个错误对象,通常用于表达系统级运行错误。

2、asser condition:expr;

这里condition是和上面一样的,这个冒号后跟的是一个表达式,通常用于断言失败后的提示信息,说白了,它是一个传到AssertionError构造函数的值,如果断言失败,该值被转化为它对应的字符串,并显示出来。

二、使用示例:

public class TestPerson{

private String name ;

private TestPerson(String name){

this.name = name;

}

public void setName(String nameStr){

this.name = nameStr;

}

public String getName(){

return this.name;

}

public static void main(String args){

TestPerson personObj = new TestPerson(“Abner Chai”);

String personName = null;

// personName=personObj.getName();

assert (personName=personObj.getName())!=null;

System.out.println(personName.length());

}

}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

这个程序中,对personName的赋值被转移到assert语句中,尽管断言有效时它可以很好地运行(<在Eclipse(3.0M9)开发环境中,运行时,我们必须配置运行时的选项”Run Configuration “,在Arguments页面中的”VM Arguments” 中填入-ea选项。才能让断言在运行时起作用。>即使用-ea运行时可以有效地运行)但如果断言失效,则它会运行时报空指针错误。因为断言无效时,personName=personObj.getName()一句永远不会执行!

三.其它选项:

当执行代码时,使用-ea选项使断言有效,也可以使用-da选项使断言无效(默认为无效)

同样,也可以通过在-ea或-da后面指定包名来使一个包的断言有效或无效。例如,要使一个com.test包中的断言

无效,可以使用:

-da:com.test

要使一个包中的所有子包中的断言能够有效或无效,在包名后加上三个点。例如:

-ea:com.test…

即可使com.test包及其子包中的断言无效。

assert函数在哪个头文件_java断言assert函数

本文【assert函数在哪个头文件_java断言assert函数】由作者: 自旋锁 提供,本站不拥有所有权,只提供储存服务,如有侵权,联系删除!
本文链接:https://www.cuoshuo.com/blog/4188.html

(0)
上一篇 2023-03-10 08:28:23
下一篇 2023-03-10 09:01:00

相关推荐

  • vc++6.0怎么运行快捷键

    Microsoft Visual C++6.0作为适合新手编写C语言的编程软件,被大家广为使用。然而初次使用此软件的同学即使是中文版的也完全摸不到头脑,完全不知道如何使用它,接下来我将介绍如何用Microsoft Visual C++6.0编写程序。 首先,点击【文件】选择【新建】选择文件中的【C++ Source File】输入要创建的【文件名】以及选择要…

    2023-03-13
    400
  • 固态硬盘格式化后数据还在

    很多人都会在电脑上存储一些“不可描述”的视频或小账本之类的内容,虽然没有哪一种加密方法可以保证100%不被破解,但要将已过期的私密数据彻底抹除还是可以实现的,比如像下边这样物理攻击: 除了物理破坏方法以外,用软件抹除存储介质当中的数据也是可行的。HDTune提供了多种数据删除方案。单次的全零或随机填充都无法百分百保障数据被彻底擦除不可恢复,DoD 5220….

    2023-03-12
    300
  • 路由器ftp服务器怎么用_路由器的FTP功能如何打开

    如何电脑连接华三路由器配置ftp文件传输服务 拓扑如下,R1为ftp服务端,pc为ftp客户端,使用pc客户端去访问R1服务端上的ftp资源,并上传和下载 一,配置R1为ftp服务器端 配置R1接口 inter GigabitEthernet 0/1 [Server-GigabitEthernet0/1]ip add 192.168.0.1 24 配置R1服…

    2023-03-08
    700
  • python编写软件安装脚本

    简介 在CentOS6或者CentOS7上都是默认自带python2,而现在很多库都只支持Python3。 安装命令 复制命令一步步执行即可 yum -y install xz tar gcc make tk-devel wget sqlite-devel zlib-devel readline-devel openssl-devel curl-devel …

    2023-03-21
    000
  • 黑莓9930电子书软件,黑莓9930能不能用QQ

    使用黑莓的用户,有很明显的个性特质,他们很酷但不冷漠,友善内敛,极其注重效率,专注于自己的事务,不喜欢炫技,但乐于帮助和分享。 在满街都是诺基亚、摩托罗拉、三星、索尼爱立信的年代,有一个手机品牌永远显得特立独行,在人群中永远亮眼,只要你把手机掏出来,气场立马与众不同,能让旁人不禁在心中惊呼“好酷!” 它叫黑莓。 从美国辐射全球的影响力 不是所有小众都等于酷,…

    2023-03-19
    100
  • delete语句在SQL的用法(deleteSQL语句)

    大家好,我是宁一。 今天是SQL课程的第十课。 讲讲DELETE 删除语句,用来删除表中的一条或多条记录。 基本语法: DELETE FROM <表名> WHERE <筛选条件>;1、DELETE语句 如果省略WHERE条件,这时候DELETE就会删除整个表的记录。 注意:这里不是删除表,只是删除表中所有数据,还会保留表结构的。 实例…

    2023-03-12
    700
  • vb基础教程从入门到精通pdf,vb教程编程实例详解pdf

    应用实例: 给VB程序加菜单图标: 在VB里面加图标比较麻烦,你需要用到API函数进行调用,参数不好理解: 给菜单添加图标的API函数:GetMenu、GetSubMenu、GetMenuItemID、SetMenuItemBitmaps。 写代码前你要把ImageList控件放到窗体上,如果工具栏中找不到它,通过“工程”菜单下的“部件”进行添加: 将Ima…

    2023-03-16
    000
  • 虚幻4引擎崩溃解决方法_steam虚幻引擎崩溃

    虚幻引擎是开发人员用来构建和设计游戏的流行游戏引擎。作为一个套件,它有一些最好的集成工具。但是,在使用Unreal Engine 4时,可能会出现各种问题。其中之一正在崩溃。成千上万的玩家最近报告了同样的问题。但好消息是你可以修复它。 渲云渲染将列出已证明对许多玩家有用的解决方案列表。我们建议您从列表中的第一个修复开始。如果第一个过程做得不够,那么您可以继续…

    2023-03-09
    700
  • 矩阵键盘程序流程设计 单片机矩阵键盘程序

    1. 基于proteus的51单片机开发实例24-矩阵键盘 1.1. 实验目的 本实例我们来学习矩阵键盘(行列式键盘)的电路设计、编程实现。目的是通过较少的I/O口来识别多个按键。 1.2. 设计思路 我们在前面已经学习过独立按键,在独立按键电路中,一个按键连接单片机的一位I/O端口。这样通过检测I/O的状态就能很方便的识别该按键是否按下。这种电路的优点是:…

    2023-03-18
    000
  • vba编程从入门到精通教程,vba按条件提取行数据

    VBA进行数据操作有天然的优势,不仅可以快速提高数据查找,排序等操作,还可以减少人为的操作失误。 本文介绍一个小技巧,实现工作表任意区域内的数据行,转换为列,还可以根据条件进行查询。 上图为本示例的演示结果。 黄色区域为原始数据,绿色区域为查找和转置后的结果。 其功能为查询第一列的内容,如果不是数字格式,就全部行数据转置为列,如果不是数字就只查找某一个列的数…

    2023-03-17
    300

发表回复

登录后才能评论
返回顶部
错说博客上线啦!