我有一个动物类的填充对象(animalObj)。

动物类有类似的方法


getAnimal1()
getAnimal2()等。


所以我需要从对象animalObj动态调用这些方法。

我需要的是这个的实现

String abc="123";
for(int i=0; i<abc.length(); i++)
   animalObj.getAnimal+abc.charAt(i)+();


我知道about代码是垃圾,但是我需要知道如何实现。

我读了有关Java反射的文章,看到了一些类似的问题
Java dynamic function callingHow do I invoke a Java method when given the method name as a string?

但是,这里所有的问题都不在处理填充的对象。

有什么建议么?

最佳答案

try {
 animalObj.getClass().getMethod("getAnimal"+abc.charAt(i)).invoke(animalObj);
} catch (SecurityException e) {
// ...
} catch (NoSuchMethodException e) {
// ...
}

10-05 22:46