gpt4 book ai didi

java - 在Java中初始化编译时已知的静态类变量

转载 作者:行者123 更新时间:2023-11-29 10:05:08 26 4
gpt4 key购买 nike

我想在 Java 中初始化一个静态类变量:

public class NumberExpression {
private static Class numberClass = Class.forName("java.lang.Number");
};

上面的代码段不起作用,因为 Class.forName 抛出 ClassNotFoundExceptionnew Integer().getClass() 之类的东西将不起作用,因为 Number 是一个抽象类。

我想我可以将 Class.forName 包装在处理 ClassNotFoundException 的静态方法周围,但是是否有更优雅/标准的方式来获得我想要的东西?

编辑:

(类“Number”更改为“java.lang.Number”)

最佳答案

它不起作用,因为 Number 类不存在。你的意思是 java.lang.Number

你可以尝试这样的事情:

public class NumberExpression {
private static Class numberClass;
static {
try {
numberClass = Class.forName("java.lang.Number");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
};

但是当您尝试加载的类是动态的时,这才有意义,否则您可以使用它自己的类(即 Number.class)

关于java - 在Java中初始化编译时已知的静态类变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11173822/

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