我有这样的方法:
public Object load(Object type) {
...
}
请注意,该参数是Object-type。
我有几个使用 loadConfiguration 方法的类。在方法内部我需要知道类,因此需要 MyObject.class 的值。 好吧,因为我有一个 Object ,这是不可能的, type.getClass()也会抛出异常,因为它只是给了我 java.lang.Class 而不是真实的。 一种可能性是使用 instanceof 功能,但我希望尽可能保持通用。
对此有何想法?我也看了to this topic。
谢谢!
答案 0 :(得分:0)
我在你的例子中确切地知道发生了什么。我相信你的例子中参数type
是一个Class对象,所以你可以把它抛出来。
public Object load(Object type) {
Class<?> clazz = (Class<?>)type;
...
}
调用代码看起来像
blah.load(MyObject.class);
如果实际上你需要知道调用该方法的类的类,你可以简单地调用
Class<?> clazz = this.getClass()