我有一个动物类的填充对象(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 calling,How 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) {
// ...
}