Here you can find the source of invokeMethod(Class
@SuppressWarnings({ "rawtypes", "unchecked" }) public static <T> T invokeMethod(Class<T> returnClass, String methodName, Object ivokeObject, Object... objects) throws Exception
//package com.java2s; /*//from ww w .j a v a 2s . co m * Copyright 2012 AMG.lab, a Bull Group Company * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import java.lang.reflect.Method; public class Main { @SuppressWarnings({ "rawtypes", "unchecked" }) public static <T> T invokeMethod(Class<T> returnClass, String methodName, Object ivokeObject, Object... objects) throws Exception { Class[] classes = new Class[objects.length]; for (int i = 0; i < objects.length; i++) { classes[i] = objects[i].getClass(); } Method method = ivokeObject.getClass().getDeclaredMethod(methodName, classes); method.setAccessible(true); return (T) method.invoke(ivokeObject, objects); } public static Object invokeMethod(String methodName, Object ivokeObject, Object... objects) throws Exception { return invokeMethod(Object.class, methodName, ivokeObject, objects); } }