gpt4 book ai didi

java - 如何初始化 ObjectName 类型的静态最终类成员?

转载 作者:行者123 更新时间:2023-12-02 06:06:52 25 4
gpt4 key购买 nike

以下代码无法编译(“变量名称可能尚未初始化”):

import javax.management.*;

public class Main {
public final static ObjectName name;
static {
try {
name = new ObjectName("abc");
} catch (final Exception e) {
System.exit(1);
}
}
}

但是,以下代码也无法编译(“变量名称可能已被分配”):

import javax.management.*;

public class Main {
public final static ObjectName name;
static {
try {
name = new ObjectName("abc");
} catch (final Exception e) {
name = null;
System.exit(1);
}
}
}

我认为编译器对于这两种情况都不正确,但无论如何我们应该如何初始化静态最终 ObjectName?

最佳答案

第一行建议是不要调用System.exit()。它会导致应用程序突然退出,而没有进行正常的清理。

如果您绝对必须在该精确点退出应用程序,那么您的解决方法是添加

throw e; 

System.exit() 调用之后。

如果您对编译器错误感到好奇,您可能有兴趣阅读 this question 中的内容。 .

关于java - 如何初始化 ObjectName 类型的静态最终类成员?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22199733/

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