mat*_*ots 1 java reflection class
我想在Java中初始化一个静态的Class变量:
public class NumberExpression {
private static Class numberClass = Class.forName("java.lang.Number");
};
Run Code Online (Sandbox Code Playgroud)
上面的代码段不起作用,因为Class.forName抛出一个ClassNotFoundException.类似的东西new 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();
}
}
};
Run Code Online (Sandbox Code Playgroud)
但是,当您尝试加载的类是动态的时,这才有意义,否则您可以使用它自己的类(即Number.class)
| 归档时间: |
|
| 查看次数: |
105 次 |
| 最近记录: |