Assertion断言的使用

本文详细介绍了Java断言的引入背景、语法、特点、使用方法和参数使用技巧,帮助开发者了解如何在开发和测试阶段利用断言保证程序的基本正确性,并提供了断言开启与关闭的具体参数使用示例。
部署运行你感兴趣的模型镜像

今天和几个哥们讨论JNI(Java Native Interface)时看到了代码中有几个断言(Assert)关键字的使用,但是执行的时候却不见起任何作用。

后来看了API才知道,JVM 断言默认是关闭的,执行的时候我们需要传递VM arguments参数(-ea)才行的哈。

下面为大家展现下Java 的Assertion的相关信息:

在看过我写的Java的演变历程(发展史)的兄弟都知道断言是JDK1.4的时候引入。

Assertion的语法:

assert expression1;

assert expression1:expression2;


Assertion的特点:

1、断言不具有继承性:断言是可以局部开启的。如:父类禁止断言,而子类开启断言。

2、断言中AssertionError是继承自Error的,因此你可以不在程序中catch它的。


Assertion的注意点:

assertion用于保证程序最基本、关键的正确性。

assertion检查通常在开发和测试时开启。为了提高性能,在软件发布后,assertion检查通常是关闭的。


Assertion的使用:

断言继承assert(entity instanceof AbstractEntity);

断言赋值assert isAssertOpen = true; //如果开启了断言,isOpen的值将改为true

断言测试assert Boolean : 断言成功;


最后给大家提供下参数使用:

-ea java -ea 打开所有用户类的assertion
-da java -da 关闭所有用户类的assertion
-ea:<classname> java -ea:MyClass1 打开MyClass1的assertion
-da:<classname> java -da: MyClass1 关闭MyClass1的assertion
-ea:<packagename> java -ea:pkg1 打开pkg1包的assertion
-da:<packagename> java -da:pkg1 关闭pkg1包的assertion
-ea:... java -ea:... 打开缺省包(无名包)的assertion
-da:... java -da:... 关闭缺省包(无名包)的assertion
-ea:<packagename>... java -ea:pkg1... 打开pkg1包和其子包的assertion
-da:<packagename>... java -da:pkg1... 关闭pkg1包和其子包的assertion
-esa java -esa 打开系统类的assertion
-dsa java -dsa 关闭系统类的assertion


您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值