在JDK1.4中增加了Assert的新功能,用于开始、调试时期的错误检测,它可以通过-ea 的JVM参数关闭,关闭以后对程序的性能没有任何影响。

最好的教程 请见:http://java.sun.com/j2se/1.4.2/docs/guide/lang/assert.html

简单总结下几点注意点

不要在public方法中使用assert来代替参数检查。公有方法的参数检查应该有该方法通过条件判断等方式完成,从而抛出理想的异常,而其只会抛出:AssertionError,对异常并不是很明确。AssertionError 继承自Error。

它的语法有两种:

assert Expression1

Expression1

为条件判断,当其为true时程序正常,为false时,程序抛出AssertError。

assert Expression1

: Expression2

:Expression

1

同上,

Expression2必须是有返回值的函数或者其它字符串、变量等。

3. 编译: javac -source 1.4 MyClass.java

启动: java -ea MyClass

Eclipse的话,需要在Run=>JVM Argements 中增加-ea参数

在Java中,assert关键字是从JAVA SE 1.4 引入的,为了避免和老版本的Java代码中使用了assert关键字导致错误,Java在执行的时候默认是不启动断言检查的(这个时候,所有的断言语句都将忽略!),如果要开启断言检查,则需要用开关-enableassertions或-ea来开启。

assert关键字语法很简单,有两种用法:

1、assert

如果为true,则程序继续执行。如果为false,则程序抛出AssertionError,并终止执行。

2、assert :

如果为true,则程序继续执行。如果为false,则程序抛出java.lang.AssertionError,并输入。

也就是你需要在执行java命令时加入参数-ea,如

java -ea xxx

现在来看,个人是不推荐使用的。

java assert函数_Java Assert 用法简介相关推荐

  1. MSSQL Sql加密函数 hashbytes 用法简介

    原文:MSSQL Sql加密函数 hashbytes 用法简介 转自:http://www.maomao365.com/?p=4732 一.mssql sql hashbytes 函数简介 hashb ...

  2. java assert函数_assert的用法

    在学习编程的过程当中,我们会经常遇到自己编写的程序不知道错在哪,更谈不上修改,这个时候assert就起到了很重要的作用. 什么是assert assert断言函数就是针对某一行代码进行测试,得到输出结 ...

  3. java lambda函数_Java SE 8新功能介绍:使用Lambda Expression进行函数式编程

    java lambda函数 " Java SE 8新功能浏览 "系列的这篇文章将深入了解Lambda表达式 . 我将向您展示Lambda表达式的几种不同用法. 它们都具有功能接口的 ...

  4. java 字符串函数_Java字符串函数– 25+必须知道方法

    java 字符串函数 Java字符串函数 (Java String Functions) Java String class has a lot of functions to manipulate ...

  5. java日期函数_JAVA 日期、时间函数大全(超全)

    实 习期间使用ExtJs做项目的时候需要获取上下班时间并进行上网访问记录的截取和判断,需要处理时间以及字符串与时间之间的转换.本想自作一篇关于时间的 博文,但发现java时间函数方式多变,不如上网查资 ...

  6. java虚拟函数_java实现多态中的虚函数相关概念

    本文转载自参考博客 1. Java虚函数 虚函数的存在是为了多态. C++中普通成员函数加上virtual关键字就成为虚函数 Java中其实没有虚函数的概念,它的普通函数就相当于C++的虚函数,动态绑 ...

  7. java 虚函数_Java的虚方法

    虚方法出现在Java的多态特性中, 父类与子类之间的多态性,对父类的函数进行重新定义.如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding).在Java中,子类 ...

  8. java replaceall函数_JAVA中string.replace和string.replaceAll的区别及用法

    展开全部 JAVA中string.replace()和string.replaceAll()的区别及用法乍一看,字面上理解好像replace只替换第一个出现的字符(受javascript的影响),32 ...

  9. java this()函数_java中this关键字的三种用法

    this是自身的一个对象,代表对象本身,可以理解为:指向对象本身的一个指针. this的用法在java中大体可以分为3种: 1.普通的直接引用,this相当于是指向当前对象本身. 2.形参与成员名字重 ...

最新文章

  1. ios android 发东西,Android、IOS主动发事件给React Native
  2. XCTF-MISC-新手区-gif
  3. ssl提高组周六备考赛【2018.10.20】
  4. arrays中copyof复制两个数组_数据结构与算法(3)数组
  5. 【C++深度剖析教程6】C++之友元
  6. 完美摄影作品展,它可以是你作品的风格
  7. 渗透攻击exp共享站点
  8. QApplication
  9. Intellij IDEA远程debug教程实战和要点总结
  10. 如何使用HTML制作个人网站(如何搭建个人博客)
  11. linux查看trunk信息,linux网卡启用trunk模式操作标准.docx
  12. [信息论与编码理论专题-6]:物理层信道编码
  13. 乐吾乐le5le-Topology为智慧水务可视化赋能(一)
  14. winvnc出现错误时,删除以下注册表
  15. 测试不同体重体型软件样子的,为什么有的人身高、体重相同,体型却不一样?这是体脂率在作祟...
  16. 【python PDF解析】python 读取PDF文件内容
  17. ProcessOn在线画图
  18. 超快激光微加工的Burst Mode和PSO功能
  19. Pandas:深市股票代码前补足0
  20. 众人坐下以后,苏睿好不容易找来了几个茶碗

热门文章

  1. 牛客网--专项训练--软件测试(待补充)
  2. 面试君与面试官的分歧:innodb支持行锁就不锁表么?
  3. 用Delphi 制作Web 数库服务系统
  4. 【刷题】美团笔试训练
  5. windows的oem跟vlk分别是什么意思?区别是什么?
  6. Spring Cloud组件之GetWay
  7. python培训课程背景
  8. python日历库_python下的一个好用的日历库,支持农历转公历,和公历转农历等功能...
  9. 巡课督导为什么这么重要?一文看懂
  10. 液晶电视英文linux使用教程,创维电视都是英文怎么看 创维电视机菜单显示英文的怎么调成中文?...