Java关键字之断言

java断言

实际开发中没用过出于好奇。。了解下

J2SE 1.4在语言上提供了一个新特性,就是assertion功能,从理论上来说,通过 assertion方式可以证明程序的正确性。
一般来说,assertion用于保证程序最基本、关键的正确性。assertion检查通常在开发和测试时开启。为了提高性能,在软件发布后,assertion检查通常是关闭的。


关键字assert。它包括两种表达式,分别如下:
assert  expression1;
assert  expression1:expression2;
expression1表示一个boolean表达式, expression2表示一个基本类型或者是一个对象(Object)
如果expression1 返回false 抛出java.lang.AssertionError


测试:

/**
 * <Description> <br>
 * 
 * @author <br>
 * @version 1.0<br>
 * @taskId <br>
 * @CreateDate 2017-5-27 <br>
 * @since <br>
 * @see summary.basis.assert1 <br>
 */
public class AssertTest {
    public static void main(String[] args) {
        StringUtils.isNotNull(null);
    }
}

// 字符串处理工具类
class StringUtils {
    public static String isNotNull(String str) {
        assert str != null : "加密的字符串为null";
        /* 加密处理 */
        return str;
    }
}

理论上应该抛出异常,实际上没有任何反应

原因是一般我们使用jdk 断言默认都是不开启的

断言的开启 参考:
http://blog.csdn.net/styshoo/article/details/48209493

两种方式
1.Run -> Run Configurations->Java Application-> Arguments页签 -> VM arguments文本框中加上断言开启的标志:-enableassertions 或者-ea
2.Windows -> Preferences ->Java ->Installed JREs ->待使用的JDK ->Edit ->Default VM Arguments文本框中输入:-ea
开启后再执行
控制台打印出异常信息:
Exception in thread "main" java.lang.AssertionError: 加密的字符串为null
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值