java - 断言失败——检查一个字段是否大于

标签 java

我尝试使用断言 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/

相关文章:

java - 在二维数组中添加对象大小未知的JAVA列表

java - Spring Web 服务流程

java - 为什么 Play Framework 不构建在 Servlet API 之上?

java - 我可以将 Activity 转换为 float 窗口吗?

java - 在 Java 中使用 OpenCV 3.1 捕获 rtsp 视频流

java - 在多个线程中更新 AtomicInteger 变量时未获得预期结果

java - 如何强制 Eclipse 将 java 项目视为 java 项目?

java - 使用 SpringBoot、Spring-MVC 和 Maven 的 WebApp 中不包含 WEB-INF

java - 将对象数组转换为 ArrayList 时出现问题

java - java中为什么要使用抽象类和抽象方法