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

时间:2011-12-06 17:43:34

标签: java

我如何编写并调用方法boolean doInstanceof(...),该方法采用对象o和类型t,如果ot的实例,则返回true },否则返回false。

类似的东西:

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

//called like
boolean isInstance = doInstanceof(new MyClass(), MyClass.type())

1 个答案:

答案 0 :(得分:5)

您可以使用Class及其isInstance方法:

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

boolean isInstance = doInstanceOf(new MyClass(), MyClass.class)

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

boolean isInstance = MyClass.class.isInstance(new MyClass());

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