别人提供了一个库和一套API,我需要写一个程序,能够调用这些API函数,但是程序事先并不知道需要调用哪个函数或者调用顺序
我通过外部利用报文的形式,将当前需要调用的函数以及参数发过去,JAVA端收到字符串后解析并调用和该字符串匹配的函数这种方法该如何实现?

解决方案 »

  1.   

    用枚举配合switch也可以做到这种效果
      

  2.   


    package com.study.reflect;import java.lang.reflect.Method;public class MethodTest { public static void main(String[] args) throws Exception{

    //这是你解析的方法名
    String methodName = "test";

    String params = "value";

    //这个是你需要掉方法的对象
    Object obj = new Object();

    Class classType = obj.getClass();

    //这里假设你的参数只有一个String类型的
    Method method = classType.getDeclaredMethod(methodName, new Class[]{String.class});

    //这个object就是你调用方法返回的对象
    Object object = method.invoke(obj, new Object[]{params});
    }
    }
    希望对你有帮助