代码之家  ›  专栏  ›  技术社区  ›  Maxim

如何在Kotlin中启用断言?

  •  5
  • Maxim  · 技术社区  · 8 年前

    class Assertion {
        fun sum(a: Int, b: Int): Int {
            assert(a > 0 && b > 0)
            return a + b
        }
    }
    
    fun main(args: Array<String>) {
        Assertion().sum(-1, 2)
    }
    

    -ea:AssertionKt ,请 -ea:Assertion -ea:...

    2 回复  |  直到 8 年前
        1
  •  7
  •   yole    8 年前

    要在Kotlin中启用断言,请使用 -ea

        2
  •  3
  •   Maxim    8 年前

    Kotlin ,不同于 Java -ea

    在幕后, assert() AssertionsJVM.kt ENABLED 中的变量 _Assertions

    @PublishedApi
    internal object _Assertions {
        @JvmField @PublishedApi
        internal val ENABLED: Boolean = javaClass.desiredAssertionStatus()
    }
    

    启用 true _断言

    • 所有类
    • -ea:kotlin._Assertions