Java发送instanceof作为参数
这可能是个愚蠢的问题,但我必须知道是否有办法将对象的实例发送到方法 像这样:Java发送instanceof作为参数,java,parameters,instance,instanceof,Java,Parameters,Instance,Instanceof,这可能是个愚蠢的问题,但我必须知道是否有办法将对象的实例发送到方法 像这样: public class TestClass { public TestClass() { //Initialize } } public class AnotherClass { Instance!? mInstance; public AnotherClass(Inst
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();
Class cls=a.getClass();
请参阅
java.lang.Class
的API文档,没有“对象实例”这样的东西。对象是类的实例,所以“实例”和“对象”指的是同一个对象
您可以使用instanceof
操作符测试任意对象是否是特定类的实例:
if (a instanceof AnotherClass) {
// ...
}
还有类java.lang.class
,它表示对象的类。您可以通过调用对象上的getClass()
来获得它:
Class<?> cls = a.getClass();
Class cls=a.getClass();
请参阅
java.lang.Class
的API文档,您可以使用Class.isAssignableFrom
并使用Class实例进行构造,其中T是您要测试的类
但是,如果您为强制键入和生成非特定类型的类而烦恼,我建议您阅读泛型。您可以使用
Class.isAssignableFrom
并使用类实例进行构造,其中T是您要测试的类
但是,如果您对强制键入和创建非特定类型的类感到烦恼,我建议您阅读泛型。我很难理解这一点。对象是类的实例。
Instance
mean?也许您想使用类的.class
属性?不知道你想做什么很难说。我很难理解这一点。对象是类的实例。Instance
mean?也许您想使用类的.class
属性?在不知道您要做什么的情况下很难说。您想要在“类”中使用的特定方法是“isAssignableFrom”,它是instanceof的更动态的版本。如果我有一个父类敌人和一个继承敌人的子类僵尸。然后,我如何执行类mEnemyClass并分配mEnemyClass=Zombie.Class?Class“Class”中需要的特定方法是“isAssignableFrom”,它是instanceof的更动态的版本。如果我有父类敌人和继承敌人的子类Zombie。然后如何执行类mEnemyClass并分配mEnemyClass=Zombie.Class?Class