gpt4 book ai didi

java - 与 Java 的断言不同,Groovy 的断言对于生产代码来说是一个好主意吗?

转载 作者:IT老高 更新时间:2023-10-28 21:01:05 25 4
gpt4 key购买 nike

众所周知,在 Java 中使用 assert 关键字通常是个坏主意,因为它的行为取决于运行时环境(默认情况下它不做任何事情,除非传递了 -enableassertion到 java 运行时)。

Groovy 的断言不同吗?它是否总是在生产代码中执行,是否建议在生产代码中使用? (在 Java 中,你会使用 Preconditions 之类的东西)

从我的理智测试看来,默认情况下 assert 在没有任何标志的情况下运行良好,而且它实际上比 Java 关键字更强大(参见 Power Assert ) - 我只是在寻找一个官方/完整的答案,而不是我的轶事。

最佳答案

Groovy 断言总是在生产代码中执行,我建议在生产中使用。我认为以下内容大致相同,但 Groovy 版本更紧凑

时髦

assert file.exists(), "$file does not exist"

Java

if (!file.exists()) {
throw new SomeRuntimeException(file + " does not exist");
}

关于java - 与 Java 的断言不同,Groovy 的断言对于生产代码来说是一个好主意吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8077757/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com