当前位置:网站首页 > Java教程 > 正文

java验证教程



在本教程中,我们将借助示例学习Java assert语句(Java断言)。

Java中的断言通过测试我们认为是正确的代码来帮助检测错误。

使用assert关键字进行断言。

其语法为:

这里condition是一个布尔表达式,我们假定在程序执行时为真。

默认情况下,断言在运行时被禁用并被忽略。

为了启用断言,我们使用:

或者

启用断言且条件为时true,程序将正常执行。

输出结果

我们得到上面的输出,因为该程序没有编译错误,并且默认情况下,断言被禁用。

启用断言后,我们得到以下输出:

输出结果

从上面的示例可以看出,表达式被传递给AssertionError对象的构造函数。如果我们的假设是正确的false,并且启用了断言,则会抛出异常并显示一条适当的消息。

此消息有助于诊断和修复导致断言失败的错误。

java -ea

在类名中启用断言

只启用一个类,

在包名称中启用断言

要对包com.animal及其子包启用断言

在未命名的包中启用断言

在当前工作目录中的未命名包中启用断言(当我们不使用package语句时)。

在系统类中启用断言

为了在系统类中启用断言,我们使用不同的命令行开关:

可以提供给这些开关的参数是相同的。

要禁用断言,我们使用:

要在系统类中禁用断言,我们使用:

禁用断言时可以传递的参数与启用断言时相同。

无法访问的代码是我们尝试运行该程序时不会执行的代码。使用断言来确保无法访问的代码实际上是无法访问的。

让我们举个实例。

让我们再来看一个没有默认情况的switch语句示例。

上面的switch语句表明,一周中的天数只能是以上7个值中的一个。没有默认情况意味着程序员相信这些情况中的一个将始终被执行。

但是,在某些假设实际上是错误的情况下,可能尚未考虑某些情况。

应该使用断言来检查此假设,以确保未达到默认switch条件。

如果dayOfWeek其值不是有效日期,则抛出AssertionError。

为了记录其基本假设,许多程序员使用注释。让我们举个实例。

请改用断言。

用户可以提供公共方法中的参数。

因此,如果使用断言来检查这些参数,则条件可能会失败并导致AssertionError。

与其使用断言,不如让它产生适当的运行时异常并处理这些异常。

让我们以一个列表示例为例,weekdays列表包含一周中所有天的名称。

在这里,我们试图从ArrayList weekdays中删除元素Saturday和Sunday。

如果启用了断言,则程序可以正常运行。但是,如果禁用了断言,则不会删除列表中的元素。这可能会导致程序失败。

而是将结果分配给变量,然后使用该变量进行断言。

  • 上一篇: 菜鸡教程java
  • 下一篇: java中文网教程
  • 版权声明


    相关文章:

  • 菜鸡教程java2025-03-04 20:02:02
  • java jamu手法教程2025-03-04 20:02:02
  • java虚拟系列教程2025-03-04 20:02:02
  • linux下java开发教程2025-03-04 20:02:02
  • 传智java就业教程2025-03-04 20:02:02
  • java中文网教程2025-03-04 20:02:02
  • java188使用教程2025-03-04 20:02:02
  • java程序控制教程2025-03-04 20:02:02
  • java 语言编程教程2025-03-04 20:02:02
  • java编程在线教程2025-03-04 20:02:02