gpt4 book ai didi

java - 在具有可接受/惯用的静态初始值设定项的类中使用空静态方法吗?

转载 作者:搜寻专家 更新时间:2023-11-01 00:58:46 25 4
gpt4 key购买 nike

我遇到了以下情况:

class Foo {

static {
// setup for logging and configuration
}

public static void setup() {
// do nothing
}

}

这是惯用的 Java 代码吗?是否有应避免这种情况的具体原因?

这是在测试套件中发现的。

我最初担心的是,理论上可以在不调用 #setup() 的情况下进行初始化。

最佳答案

Is this idiomatic Java code?

没有。

Are there specific reasons this should be avoided?

是的:正如对这个问题的评论所证明的那样,这令人困惑。

My initial concern was that initialization could theoretically happen without calling #setup().

我猜作者担心的是如果不调用 setup(),初始化可能不会发生。 setup() 方法保证静态初始化程序已执行其“日志记录和配置设置”。据推测,作者试图通过调用空方法来确保此配置存在副作用。

关于java - 在具有可接受/惯用的静态初始值设定项的类中使用空静态方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28929588/

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