作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我遇到了以下情况:
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/
我想成为 Spark 纱客户(link)。是否需要安装hadoop?还是只安装 yarn 可以吗? (by this link) 最佳答案 No Spark不需要Hadoop即可运行。 Apache
我是一名优秀的程序员,十分优秀!