使用forName和Class.forName以及isInstance

时间:2015-05-16 11:51:01

标签: java reflection

我想在print方法中将类的名称作为参数传递。 例如:public void printAll(String className) 我还创建了动物清单。 我想只打印名为className的类中的节点。

我试图使用这样的东西:

node tmp;
if (Class.forName(className).isInstance(tmp.getValue())

任何帮助?

2 个答案:

答案 0 :(得分:1)

您可以将班级名称比作叮咬:

if (className.equals(tmp.getValue().getClass().getName()) {
    // do something
}

答案 1 :(得分:0)

您可以使用以下内容:

if (tmp.getValue.getClass().isInstance(Class.forName(className).newInstance())) { 
      //do something
}