我如何编写和调用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)
你可以使用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.)