Usa la reflection:
codice:
package test;
import java.lang.reflect.*;
public class Main
{
public static void main(String[] args)
{
try
{
Class cl = Class.forName("test.Test");
Class argT[] = new Class[2];
argT[0] = Integer.TYPE;
argT[1] = String.class;
Method method = cl.getMethod("print", argT);
Object argL[] = new Object[2];
argL[0] = new Integer(10);
argL[1] = new String("ciao");
Object retv = method.invoke(method, argL);
Boolean b = (Boolean)retv;
System.out.println(b);
}
catch (Throwable ex)
{
ex.printStackTrace();
}
}
}
class Test
{
public static boolean print(int i, String j)
{
System.out.println(i + " : " + j);
return true;
}
}
Ovviamente cosa usare e come usarlo lo decidi tu.
Ad esempio se hai una stringa come questa
codice:
String x = "print(10, 'ciao')";
devi semplicemente fare il suo parsing e costruire l'invocazione del metodo come hai visto su