[英]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.