If "yourClass" is a Class object represent your class, "yourInst" is an instance of your class, and strMethod is a string containing the name of the method to be invoked, then there are 2 approaches, depending on whether all the methods have unique names or whether at least two have the same names and different signatures.
import java.lang.reflect;
1. All method names unique
Method[] yourMethods = yourClass.getDeclaredMethods();
for ( int i = 0; i < yourMethods.length; i++ ) {
if ( strMethod.equals( yourMethods[ i ].toString() ) ) {
yourInst.invoke( yourMethods[ i ], args );
//etc
}
}
2. Some method names not unique
Method yourMethod = yourClass.getDeclaredMethod( strMethod, parameterTypes );
yourInst.invoke( yourMethod, args );
where args is an array of Objects containing the arguments
and parameterTypes is an array of Classes representing the method's signature
more info can be found in the J2SE API documentation for java.lang Class and java.lang.reflect Method