大家好,我想知道如何在断言中放入整个代码块?
例如,我有一个数组,我想对数组的每个值进行断言.这就是我的代码:
for (int value : values) {
assert Within(value, x, y);
}
Run Code Online (Sandbox Code Playgroud)
但是当然如果我在没有-ea关闭断言的情况下运行程序,循环仍然存在.
我想知道如何将整个循环放在断言语句中?
编辑:
argh dang Java有时太刻板了,我最终做了这样的功能:
assert Every(value, new F1<Boolean, Integer>() {
Boolean Call(Integer value) {
return Within(value, 0, 255);
}
});
Run Code Online (Sandbox Code Playgroud)
您可以使用方法
public boolean check(int... values) {
for (int value : values)
if(!Within(value, x, y)) return false;
return true;
}
assert check(values);
Run Code Online (Sandbox Code Playgroud)
如果你有很多检查,另一种方法是测试断言
boolean assertEnabled = false;
assert assertEnabled = true;
if (assertEnabled) {
// do lots of checks
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4732 次 |
| 最近记录: |