电话:0731-83595998
导航

JDK1.4新特性:断言

来源: 2017-12-22 09:28

 百度广告

  JDK1.4中引入的一个新特性之一就是断言(assert),为程序的调试提供了强有力的支持,以下的文档根据SUNTEC内容及相关内容组成。

  源代码:

/**
*
**/

public class AssertExample {

  public static void main(String args) {
   if (args.length > 0) {
    x = Integer.parseInt(args[0]);
    /* Ignore */
   }
   assert x == 10:"Our assertion failed";
  }

}

  由于引入了一个新的关键字,所以在编译的时候就需要增加额外的参数,要编译成功,必须使用JDK1.4的javac并加上参数'-source 1.4',例如可以使用以下的命令编译上面的代码

  javac -source 1.4 AssertExample.java

  以上程序运行使用断言功能也需要使用额外的参数(并且需要一个数字的命令行参数),例如

  java -ea AssertExample 1

  程序的输出为:

  Testing assertion that x == 10
Our assertion failed

  由于输入的参数不等于10,因此断言功能使得程序运行时抛出断言错误,注意是错误,这意味着程序发生严重错误并且将强制退出。断言使用boolean值,如果其值不为true则抛出AssertionError并终止程序的运行。

  由于程序员的问题,断言的使用可能会带来副作用,例如

  boolean isEnable=false;
assert isEnable=true;

  这个断言的副作用是因为它修改程序变量的值并且没有抛出错误,这样的错误如果不细心检查很难发现。但是同时我们可以根据以上的副作用得到一个有用的特性,根据它测试是否将断言打开了。

/**
*
**/

public class AssertExample2 {

  public static void main(String args) {
   assert assertEnable=true;
   throw new RuntimeException("Assertions should be enable");
  }

}

  如果我们不使用-ea参数运行上面的程序,则控制台将输出

  Exception in thread "main" java.lang.RuntimeException:
le

编辑推荐:

下载Word文档

温馨提示:因考试政策、内容不断变化与调整,长理培训网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准! (责任编辑:长理培训)

网络课程 新人注册送三重礼

已有 22658 名学员学习以下课程通过考试

网友评论(共0条评论)

请自觉遵守互联网相关政策法规,评论内容只代表网友观点!

最新评论

点击加载更多评论>>

精品课程

更多
10781人学习

免费试听更多

相关推荐
图书更多+
  • 电网书籍
  • 财会书籍
  • 其它工学书籍
拼团课程更多+
  • 电气拼团课程
  • 财会拼团课程
  • 其它工学拼团
热门排行

长理培训客户端 资讯,试题,视频一手掌握

去 App Store 免费下载 iOS 客户端