簡體   English   中英

Java將instanceof作為參數發送

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM