如何在Java中实现断言?

时间:2020-02-23 14:33:56  来源:igfitidea点击:

通常,需要验证我们程序中存在的条件。
Java中的assert关键字允许用户验证或者测试程序过程中所做的假设。
本文将向我们介绍Java断言。

在Java中声明断言

assert语句与布尔表达式一起使用,可以声明如下:

assert expression;

声明断言的另一种方法如下:

assert expression1 : expression2;

例子

import java.util.Scanner;
public class Test
{
public static void main( String args[] )
{
int value = 18;
assert value >= 20 : " Eligible";
System.out.println("Value: "+value);
}
}

启用断言后的输出如下:

线程" main"中的异常java.lang.AssertionError:合格

启用断言

必须注意,默认情况下断言是禁用的。

启用断言语句的语法如下:

java –ea Test

启用断言的另一种方法:

java –enableassertions Test

继续,让我们看看如何禁用断言,

禁用断言

可以按以下方式禁用断言语句:

java –da Test

启用断言的另一种方法:

java -disableassertions Test

使用断言的原因

用户可能要使用断言的原因有多种:

  • 确保注释中定义的假设正确。

  • 为了确保不触及开关shell。

  • 检查对象的状态。

其中可以使用断言?

其中使用断言?

  • 方法开始时的条件情况和条件。

  • 私有方法的论点。

其中不使用断言?

  • 不应使用断言来检查用户提供的公共方法中的参数。

  • 断言不应在命令行参数上使用。

  • 不应使用断言来替换错误消息。

Java断言示例程序

import java.util.Scanner;
public class Test
{
public static void main( String args[] )
{
Scanner scanner = new Scanner( System.in );
System.out.print("Enter the ID ");
int value = scanner.nextInt();
assert value>=15:" Invalid";
System.out.println("Value "+value);
}
}

线程" main"中的异常java.lang.AssertionError:无效

为了确保在程序执行过程中所做的假设是正确的,断言被证明是一个重要的关键字。