这可能是一个愚蠢的问题,但我知道是否有办法将对象的实例发送给方法?
像这样:
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");
}
}
(试图将其包装为代码块)
答案 0 :(得分:3)
没有“对象的实例”这样的东西。对象是类的实例 - 因此“实例”和“对象”指的是相同的东西。
您可以使用instanceof
运算符来测试任意对象是否是特定类的实例:
if (a instanceof AnotherClass) {
// ...
}
还有类java.lang.Class
,它表示对象的类。您可以通过在对象上调用getClass()
来获取它:
Class<?> cls = a.getClass();
请参阅java.lang.Class
的API文档。
答案 1 :(得分:0)
您可以使用Class.isAssignableFrom
并使用Class实例构造,其中T是您要测试的类。
但如果你对强制打字和制作非特定类别的课程感到困扰,我建议你阅读泛型。