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