zoukankan      html  css  js  c++  java
  • 断言

    • 语法
    assert 条件
    assert 条件:表达式
    如果 结果为 false, 则抛出一个 AssertionError 异常。
    在第二种形式中,表达式将被传人 AssertionError 的构造器, 并转换成一个消息字符串。
    

    例如:

    public static void main(String[] args) {
            test01(-3);
        }
    
        public static void test01(int x){
            assert x > 0 : x + "必须非负数";
    
            System.out.println(x * x);
        }
    

    结果:

    Exception in thread "main" java.lang.AssertionError: -3必须非负数
    	at com.hyq.java3.Assert.test01(Assert.java:10)
    	at com.hyq.java3.Assert.main(Assert.java:6)
    

    test01(3);则结果是9.

    • 开启禁用断言
    在默认情况下, 断言被禁用。可以在运行程序时用 -enableassertions 或 -ea 选项启用:java -enableassertions MyApp
    需要注意的是, 在启用或禁用断言时不必重新编译程序。 启用或禁用断言是类加载器( class loader) 的功能。 
    当断言被禁用时, 类加载器将跳过断言代码, 因此,不会降低程序运行的速度。
    也可以在某个类或整个包中使用断言, 例如:
    java -ea:MyClass -eaiconi.inycompany.inylib.. , MyApp
    这条命令将开启 MyClass 类以及在 com.mycompany.mylib 包和它的子包中的所有类的断言。
    选项 -ea 将开启默认包中的所有类的断言。
    也可以用选项 -disableassertions 或 -da 禁用某个特定类和包的断言:
    java -ea:... -da:MyClass MyApp
    

    在idea中开启断言

  • 相关阅读:
    Javascript笔记01:javascript入门介绍
    css笔记19:浮动的案例
    css笔记17:盒子模型加强版的案例
    css笔记16:盒子模型的入门案例
    css笔记15:盒子模型
    css笔记14:css文件之间可以相互引用
    HDU 1203 I NEED A OFFER!
    HDU 2955 Robberies
    HDU 2602 Bone Collector
    HDU 2546 饭卡
  • 原文地址:https://www.cnblogs.com/huyuqing/p/14285057.html
Copyright © 2011-2022 走看看