以通用方式使用instanceof

pad*_*pad 1 java instanceof

有没有办法根据方法的传递参数使用instanceof?例

doSomething(myClass.class); /* I would like to call this also with other classes */

public void doSomething(/*generic parameter that accepts all classes, not just myClass */) {
  if (myObject instanceOf /* the generic parameter */ == true) {...}
}
Run Code Online (Sandbox Code Playgroud)

有时我会使用myClass.class调用该方法,但有时我想用someOtherClass.class调用它 - 我不想改变if条件.那可能吗?如果是这样,怎么样?:)

谢谢

SLa*_*aks 6

你正在寻找这种Class.isInstance()方法.

public void doSomething(Class<?> c, Object myObject) {
    if (c.isInstance(myObject)) {...}
}
Run Code Online (Sandbox Code Playgroud)