java assert的用法简介【转】

assert的基本用法

assertion(断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制,如C,C++和Eiffel等,但是支持的形式不尽相同,有的是通过语言本身、有的是通过库函数等。另外,从理论上来说,通过assertion方式可以证明程序的正确性,但是这是一项相当复杂的工作,目前还没有太多的实践意义。

在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为true;如果该值为false,说明程序已经处于不正确的状态下,系统将给出警告并且退出。一般来说,assertion用于保证程序最基本、关键的正确性。assertion检查通常在开发和测试时开启。为了提高性能,在软件发布后,assertion检查通常是关闭的。下面简单介绍一下Java中assertion的实现。

然而这个功能在java的各种log日志功能中早已完美具备且更完善, 所以assert没有太大意义。

在语法上,为了支持assertion,Java增加了一个关键字assert。它包括两种表达式,分别如下:

1. assert expression1;
2. assert expression1: expression2;

expression1表示一个boolean表达式,expression2表示一个基本类型、表达式或者是一个Object,用于在失败时输出错误信息。

在运行时,如果关闭了assertion功能,这些语句将不起任何作用。如果打开了assertion功能,那么expression1的值将被计算,如果它的值为false,该语句强抛出一个AssertionError对象。

示例代码如下:

package com.chzhao.test;

public class AssertDemo {

    public static void main(String[] args) {

        test1(-5);
test2(-3);
} private static void test1(int a){
assert a > 0;
System.out.println(a);
}
private static void test2(int a){
assert a > 0 : "something goes wrong here, a cannot be less than 0";
System.out.println(a);
}
}

eclipse的相关设置

在eclipse中,必须开启相关设置。具体在偏好设置,选择Installed JREs,选择相关版本,点击edit,在Default VM arguments里面输入-ea就可以了。
java assert的用法简介【转】

本文完全引用自 java assert的用法简介

上一篇:Java Spring IOC用法


下一篇:WCF 在VS中,添加服务引用,地址输入http://ip/Service.svc,点击前往,提示错误,内容如下: