Java Object.class和x.getClass

时间:2014-12-03 09:26:02

标签: java

我有这样的方法:

public Object load(Object type) {
...
}

请注意,该参数是Object-type。

我有几个使用 loadConfiguration 方法的类。在方法内部我需要知道类,因此需要 MyObject.class 的值。 好吧,因为我有一个 Object ,这是不可能的, type.getClass()也会抛出异常,因为它只是给了我 java.lang.Class 而不是真实的。 一种可能性是使用 instanceof 功能,但我希望尽可能保持通用。

对此有何想法?我也看了to this topic

谢谢!

1 个答案:

答案 0 :(得分:0)

我在你的例子中确切地知道发生了什么。我相信你的例子中参数type是一个Class对象,所以你可以把它抛出来。

public Object load(Object type) {
Class<?> clazz = (Class<?>)type;
...
}

调用代码看起来像

blah.load(MyObject.class);

如果实际上你需要知道调用该方法的类的类,你可以简单地调用

Class<?> clazz = this.getClass()