[英]How to use type of a class as a parameter?
我将如何编写和调用方法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())
您可以使用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.