[英]Java send instanceof as paramater
這可能是一個愚蠢的問題,但我必須知道是否有一種方法可以將對象的實例發送給方法?
像這樣:
public class TestClass
{
public TestClass()
{
//Initialize
}
}
public class AnotherClass
{
Instance!? mInstance;
public AnotherClass(Instance!? instance)
{
mInstance = instance;
}
public boolean isInstanceOfTestClass()
{
return mInstance == TestClass;
}
}
public class Main
{
public static void main(String[] args)
{
AnotherClass a = new AnotherClass(TestClass);
if(a.isInstanceOfTestClass)
System.out.println("lala");
}
}
(試圖使其包裝為代碼塊)
沒有所謂的“對象實例”。 對象是類的實例-因此“實例”和“對象”指的是同一件事。
您可以使用instanceof
運算符測試任意對象是否是特定類的實例:
if (a instanceof AnotherClass) {
// ...
}
還有類java.lang.Class
,它表示對象的類。 您可以通過在對象上調用getClass()
來獲得它:
Class<?> cls = a.getClass();
請參閱java.lang.Class
的API文檔。
好吧,您可以使用Class.isAssignableFrom
並使用Class.isAssignableFrom
的實例進行構造,其中T是您要測試的類。
但是,如果您對強制類型化和創建非類型特定類感到困擾,建議您閱讀泛型。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.