当前位置:首页 > 全部子站 > IT > 思科认证

JDK1.4新特性:断言

来源:长理培训发布时间:2017-12-22 09:28:26

 百度广告

  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

责编:罗莉

发表评论(共0条评论)
请自觉遵守互联网相关政策法规,评论内容只代表网友观点,发表审核后显示!

国家电网校园招聘考试直播课程通关班

  • 讲师:刘萍萍 / 谢楠
  • 课时:160h
  • 价格 4580

特色双名师解密新课程高频考点,送国家电网教材讲义,助力一次通关

配套通关班送国网在线题库一套

课程专业名称
讲师
课时
查看课程

国家电网招聘考试录播视频课程

  • 讲师:崔莹莹 / 刘萍萍
  • 课时:180h
  • 价格 3580

特色解密新课程高频考点,免费学习,助力一次通关

配套全套国网视频课程免费学习

课程专业名称
讲师
课时
查看课程
在线题库
面授课程更多>>
图书商城更多>>
在线报名
  • 报考专业:
    *(必填)
  • 姓名:
    *(必填)
  • 手机号码:
    *(必填)
返回顶部