基于string的值调用不同的类对象

时间:2014-05-08 04:13:41

标签: java android string

我有一个字符串(str),它包含类名,并希望根据字符串值调用该类的方法,我该如何实现?

实施例。

如果str =“classA”我想调用方法classA.domatrix() 如果str =“classB”则classB.domatrix()

2 个答案:

答案 0 :(得分:2)

这可能会有所帮助

String str = "ClassA";
Class.forName(str).newInstance();

注意:它应该有一个默认的无参数构造函数。也预先包含该类的包名称。

答案 1 :(得分:0)

你可以做到

if(str.equals("ClassA"))
ClassA.domatrix();
else if(str.equals("ClassB"))
ClassB.domatrix();

我们不能在这里使用switch,因为switch不能用于字符串,但是在switch case中最新版本的jdk支持字符串。

或其他解决方案是使用enum