我尝试使用断言 stmt 来检查值是否大于 1,但它没有按预期工作。
public class asserttest {
static void methoda(int i){
assert (i > 1);
System.out.println("This is methoda");
}
public static void main(String[] args){
methoda(-1);
}
}
输出: 这是方法
预期输出:- 断言错误
我能够通过启用断言来修复它。
最佳答案
我的猜测是,您对默认情况下未启用的断言感到困惑。使用 -enableassertions
命令行选项:
java -enableassertions asserttest
您还可以将断言限制为特定包,并使用 -disableassertions
指定要禁用的包。
就我个人而言,我更喜欢无条件验证参数值,正是因为如此 - 我不喜欢在测试中以“安全”模式运行代码,然后让它放松的想法生产时安全关闭。这就像学习开车时系好安全带,然后在没有任何保护的情况下参加 F1 比赛......
关于java - 断言失败——检查一个字段是否大于,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18874820/