如何使用类的类型作为参数?

ab1*_*b11 0 java

我如何编写和调用boolean doInstanceof(...)接受Object o和类型的方法,t如果o是实例t,则返回true,否则返回false.

就像是:

boolean doInstanceof(Object o, type t)
{
    return o instanceof t;
}

//called like
boolean isInstance = doInstanceof(new MyClass(), MyClass.type())
Run Code Online (Sandbox Code Playgroud)

Jon*_*eet 5

你可以使用Class它的isInstance方法:

boolean doInstanceOf(Object o, Class<?> clazz)
{
    return clazz.isInstance(o);
}

boolean isInstance = doInstanceOf(new MyClass(), MyClass.class)
Run Code Online (Sandbox Code Playgroud)

请注意,这只是替换另一个方法调用 - 您可以Class.isInstance直接调用:

boolean isInstance = MyClass.class.isInstance(new MyClass());
Run Code Online (Sandbox Code Playgroud)

(我假设实际上你在编译时不知道这个类,否则你应该只使用它instanceof.)