繁体   English   中英

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

[英]How to use type of a class as a parameter?

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

就像是:

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

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

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

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

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM