断言的使用
来源:互联网 发布:java utc时间转换 在线 编辑:程序博客网 时间:2024/06/15 08:36
AssertExample.java
package org.test;
public class AssertExample {
// -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
/** ----------------------------------------------------- */
// 何时需要使用断言
// 1.可以在预计正常情况下程序不会到达的地方放置断言 :assert false
// 2.断言可以用于检查传递给私有方法的参数。(对于公有方法,因为是提供给外部的接口,所以必须在方法中有相应的参数检验才能保证代码的健壮性)
// 3.使用断言测试方法执行的前置条件和后置条件
// 4.使用断言检查类的不变状态,确保任何情况下,某个变量的状态必须满足。(如age属性应大于0小于某个合适值)
//
// 勿用断言处
// 因此:
// 1.不要使用断言作为公共方法的参数检查,公共方法的参数永远都要执行
// 2.断言语句不可以有任何边界效应,不要使用断言语句去修改变量和改变方法的返回值
/*
* java断言Assert是jdk1.4引入的。 jvm 断言默认是关闭的。
* 断言是可以局部开启的,如:父类禁止断言,而子类开启断言,所以一般说“断言不具有继承性”。 断言只适用于复杂的调试过程。
* 断言一般用于程序执行结果的判断,千万不要让断言处理业务流程。
*/
public static void main(String args[]) {
// 双引号、单引号替换
String value = "ab'cd'ef\"\"g\"h'ij'klm'n";
System.out.println(value.replaceAll("'", "´"));
System.out.println(value.replaceAll("\"", """));
// 断言开启方法:run as....Open Run Dialog....Arguments....VMarguments.....-ea
// -ea是启用断言-da是禁用断言
boolean isOpen = false;
assert isOpen = true; // 如果开启了断言,会将isOpen的值改为true
System.out
.println(isOpen ? "开启了断言"
: "尚未开启断言:断言开启方法:run as....Open Run Dialog....Arguments....VMarguments.....-ea");
boolean isOk = 4 > 2;
assert isOk : "程序错误";
System.out.println("程序正常");
int x = 100;
System.out.println("Test Assertion that " + x + "==10");
assert x == 10 : "assert为false:" + x + "不等于10时输出的结果";
System.out.println("if true,you can print me!");
}
}
- assert断言的使用
- assert断言的使用
- 关于断言的使用
- webdriver的断言使用
- 断言的使用
- java断言的使用
- STM32 断言的使用
- Assertion断言的使用
- 断言的使用
- Swift断言的使用
- 断言的使用
- 断言assert的使用
- NodeJS 断言的使用
- android 断言的 使用
- 断言(assert)的使用
- NSAssert断言的使用
- 断言的使用
- JAVA中断言的使用
- SAX读取XML报错
- SAX方式读取XML
- Dom4j读取XML
- java写入XML
- 解决错误:Re-installation failed due to different application signatures
- 断言的使用
- properties的读取及HSQL的学习(一)
- 利用反射获得程序的缓存大小、应用程序大小、数据大小,利用反射清除缓存,全部清理
- properties的读取及HSQL的学习(二)
- 获取浏览器信息JS
- java代码规范(一)
- 代码规范(二)
- 字符转码过滤器
- sitemesh的初步使用