Java传递一个类来检查实例

时间:2017-03-02 07:23:18

标签: java

我想将一个类传递给一个函数。在该函数中,创建了其他类的新实例。

然后,我希望能够找到哪个对象有我传递的类的实例:

public void doSomething(Class cls) {
    SomeObject obj = new SomeObject();

    if (obj instanceof cls) {
        // Do amazing things here
    }
}

class Person {
    // This exists
}

doSomething(Person.class);

上面的代码不起作用。我希望我能够清楚地知道自己要做什么。

2 个答案:

答案 0 :(得分:6)

答案 1 :(得分:1)

如果您想查看对象是否是类类型的实例,则需要调用isInstance

if (cls.isInstance(obj)){

}

或者你可以isAssignableFrom

if (clas.isAssignableFrom(obj.getClass())) {

}