Java断言

1 什么是Java断言

断言(assert)是Java中的一条语句。它可以用来测试您对该程序的假设。

在执行断言时,它被认为是正确的。如果失败,JVM将抛出一个名为AssertionError的异常。它主要用于测试目的。

2 Java断言的好处

Java断言提供了一种有效的方法来检测和纠正编程错误。

3 Java断言的语法

有两种使用断言的方法。

第一种方法是:

assert 表达式;  

第二种方法是:

assert 表达式1: 表达式2;

4 Java断言的例子

package com.yiidian;

/**
 * 一点教程网: http://www.yiidian.com
 */
/**
 * Java断言的例子
 */
import java.util.Scanner;

class Demo{

    public static void main( String args[] ){

        Scanner scanner = new Scanner( System.in );
        System.out.print("请输入你的年龄: ");

        int value = scanner.nextInt();
        assert value>=18:" 不合法";

        System.out.println("输入值为: "+value);
    }
}

如果使用断言,编译器默认是禁止运行断言的。要启用断言,必须使用java的-ea或-enableassertions参数。

代码编译:javac Demo.java
代码运行:java -ea Demo

输出结果为:

请输入你的年龄: 11
Exception in thread "main" java.lang.AssertionError: 不合法
	at com.yiidian.Demo.main(Demo.java:19)

4.1 IDEA中开启assert断言

然后在VM栏里输入 -enableassertions 或者 -ea 就好了

5 不适合使用Java断言的场景

在某些情况下,应避免使用assert断言:

  • 根据Sun公司的说明,assert断言不应用于检查公开方法中的参数,因为它会导致运行时异常,例如IllegalArgumentException,NullPointerException等。
  • 如果在任何情况下都不希望出现任何错误,请不要使用断言。

热门文章

优秀文章