繁体   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