Java - 将类传递为比较参数

时间:2015-05-29 18:07:07

标签: java class

基本上我想做的是将一个类作为参数传递,以便我可以进行instanceof比较。

public class MyClass
{
    Object o = something;

    public void myMethod(Class c)
    {
        if(o instanceof c)
        {
            do something
        }
    }
}

参数Class c是我选择从其中传入的任何类。基本上我希望能够传入任何课程并进行比较。

任何帮助都将不胜感激。

由于

2 个答案:

答案 0 :(得分:2)

您可以致电Class#isInstance(Object obj)

if(c.isInstance(o)) {
  

确定指定的Object是否与此Class所代表的对象分配兼容。 此方法是Java语言instanceof运算符的动态等效项。

答案 1 :(得分:1)

让方法接受Object。在Java中,所有类都从Object扩展。

public class MyClass
{
    Object o = something;

    public void myMethod(Object c)
    {
        if(o.isInstance(c))
        {
            do something
        }
    }
}