假设有一个 X 类。 然后,下一行返回一个代表 X 的 Class 实例
Class c = X.class;
假设有一个方法 foo()
public void foo(X x){.....}
这样做合法吗
foo(c);
最佳答案
不,X
是一种类型。 Class
是一种不同的类型。 foo
方法需要一个由 Class
实例表示类型的对象,而不是 Class
实例本身。您必须创建由 Class
表示的类型的实例:
Class<X> c = X.class;
X x = c.newInstance();
foo(x);
关于java - 传递类型 Class 的实例而不是 Class 表示的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31020063/